我是 java swing 和小程序 UI 的新手,我开发了一个在 mac 和 windows 上运行的小程序,功能运行良好,但是 Mac 中的 UI 特别是当我尝试选择组合框中的项目时会破坏形状(打乱)并且不显示值,如下图所示。但同样的 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());
和
UIManager.setLookAndFeel("javax.swing.plaf.metal");
这里是 UI 中遇到的问题的 java 文档链接
关于java - Mac 小程序 UI 上的组合框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554489/