5
Windows 및 Ubuntu에서 잘 작동하는 Java Swing 프로젝트가 있습니다. Mac을 사용하지 않았으므로 테스트 할 수 없었습니다. Nimbus 테마를이 프로젝트의 표준으로 사용했습니다.Mac에서 실행했을 때 Swing GUI가 표시되지 않거나 표시되지 않습니다.
이제는 내 친구가 Eclipse에서 동일한 프로젝트를 테스트하고 jar를 내 보냈습니다. 내가 만든 특정 Java 클래스를 참조하지 않는 오류가 발생했습니다.
GUI가 표시되지만 때로는 스틱이 표시되거나 메뉴가 누락되는 경우가 있습니다.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.apple.laf.AquaMenuPainter.paintMenuBarBackground(AquaMenuPainter.java:123)
at com.apple.laf.AquaMenuUI.paintBackground(AquaMenuUI.java:57)
at com.apple.laf.AquaMenuPainter.paintMenuItem(AquaMenuPainter.java:160)
at com.apple.laf.AquaMenuUI.paintMenuItem(AquaMenuUI.java:35)
at javax.swing.plaf.basic.BasicMenuItemUI.paint(BasicMenuItemUI.java:452)
at javax.swing.plaf.basic.BasicMenuItemUI.update(BasicMenuItemUI.java:448)
at javax.swing.JComponent.paintComponent(JComponent.java:752)
at javax.swing.JComponent.paint(JComponent.java:1029)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
당신이 문제, 또는 특정 봐이 내가 Mac에서 사용되어야 테마를 느낄 수 있었다 무엇을 말해 줄 수 : GUI를 시작하면서 여기
오류의 버전을 박탈이 표시됩니다 ? Nimbus는 Mac에서 지원되지 않습니까? 그렇다면 무엇을 사용해야합니까?
내가 테마를 변경하는 경우에 "아쿠아"는 작업을 시작, 그래서 내 질문에 오히려 제거하고 난 기본 OS는 MAC의 경우, 자바 감지하는 방법을 물어보고 싶은? – Johnydep
IMHO, Mac에서는 모양과 느낌을 만지지 않습니다. Apple의 Aqua 테마는 대단합니다. Apple은 그런 식으로 사용자가 룩앤필을 설정할 필요가 없도록했습니다. Sun Swing Metal 대신 자동으로 Aqua가됩니다. –
@MartijnCourteaux, 사실이지만 MAC에서 실행중인 동일한 코드를 사용하여 문제가 발생했습니다. "Nimbus"에 대한 Look & Feel을 명시 적으로 설정했거나이 할당을 제거해야합니까? – Johnydep