Java Mac小程序UI上的组合框问题
我不熟悉java swing和applet UI,我开发了一个在mac和windows上运行的applet,功能正常,但mac中的UI,特别是当我尝试选择组合框中的项目时,会破坏形状,并且不会显示下图中的值。但同样的用户界面在Windows中运行良好。 我试图在小程序开始时在代码中添加这些行,但它仍然不起作用Java Mac小程序UI上的组合框问题,java,macos,swing,nullpointerexception,applet,Java,Macos,Swing,Nullpointerexception,Applet,我不熟悉java swing和applet UI,我开发了一个在mac和windows上运行的applet,功能正常,但mac中的UI,特别是当我尝试选择组合框中的项目时,会破坏形状,并且不会显示下图中的值。但同样的用户界面在Windows中运行良好。 我试图在小程序开始时在代码中添加这些行,但它仍然不起作用 UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 还可以使用设置组合框为不透明 gr
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
还可以使用设置组合框为不透明
group.setOpaque(true);
exception occurred is
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:153)
at com.apple.laf.AquaComboBoxRendererInternal.paintComponent(AquaComboBoxRenderer.java:151)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151)
at javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:227)
at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:317)
at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:240)
下面我附上了图片
在设计之初使用此代码它会很好地工作,我也面临同样的问题
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
及
下面是java文档在UI中面临的问题的链接
你在Mac的另一个浏览器中有相同的问题吗?可能您需要刷新Java浏览器插件。@SergiyMedvynskyy我在其他浏览器上也尝试过同样的问题,在eclipsemac中,当它作为小程序运行时,同样的问题是将外观设置为UIManager.getSystemLookAndFeelClassName帮助?@dARKpRINCE不工作请尝试调试应用程序,并查看组合框的内容是否正确填充。看起来组合框的弹出菜单确实出现了。感谢它的工作。现在值显示在mac上的下拉菜单中。@pravi不客气,这里有另一个可能适用于您的解决方案UIManager.setLookAndFeelUIManager.getSystemLookAndFeelClassName;只是出于好奇:这正是我在评论中提出的。。。它现在是怎么工作的?@dARKpRINCE UIManager.setLookAndFeeljavax.swing.plaf.metal;我想是为他工作的。
UIManager.setLookAndFeel("javax.swing.plaf.metal");