WindowsとUbuntuの両方でうまく動作するJava Swingプロジェクトがあります。私はMacを持っていなかったので、私はそれをテストすることができませんでした。私はこのプロジェクトの標準としてNimbusテーマを使用しました。Macで起動したときにSwing GUIがエラーで表示または表示されない
最近、私の友人は同じプロジェクトをEclipseでテストしてjarをエクスポートしました。私が作成した特定のJavaクラスを参照していないエラーが発生しています。
GUIが表示されますが、ときどき固まったり、メニューが表示されないことがあります。ここで
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上で使用されなければならないテーマを感じることができました? NimbusはMacでサポートされていませんか?もしそうなら、私は何を使うべきですか?
私がテーマを「Aqua」に変更すると作業が開始されるので、私の質問はむしろ削除して、根本的なOSがMACの場合はJavaで検出する方法を尋ねたいと思いますか? – Johnydep
IMHO、あなたはMacでルックアンドフィールに触れることはありません。 AppleのAquaテーマは素晴らしいです。アップルはそれをあなたがルックアンドフィールを設定する必要がないようにしました。 Sun Swing Metalの代わりに自動的にAquaになります。 –
@MartijnCourteaux、真実ですが、私は明らかにLook&Feelを "Nimbus"に設定しているときに、MAC上で実行されている同じコードで問題を横断していますか、この割り当てを削除する必要がありますか? – Johnydep