Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mac小程序UI上的组合框问题_Java_Macos_Swing_Nullpointerexception_Applet - Fatal编程技术网

Java Mac小程序UI上的组合框问题

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

我不熟悉java swing和applet UI,我开发了一个在mac和windows上运行的applet,功能正常,但mac中的UI,特别是当我尝试选择组合框中的项目时,会破坏形状,并且不会显示下图中的值。但同样的用户界面在Windows中运行良好。 我试图在小程序开始时在代码中添加这些行,但它仍然不起作用

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");