【发布时间】:2018-10-22 23:43:47
【问题描述】:
我有两个班级,Game.java 和 GameOver.java。
这部分代码在我启动程序时不起作用:
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
外观不会第一次设置,尽管当GameOver 类运行并按下重试时,外观确实设置。我试图追查这个问题,但我不知道是什么原因造成的。我的代码有什么问题,如何解决?
【问题讨论】:
-
代码应该发布在论坛上,而不是其他网站上。此外,在将来,发布一个正确的minimal reproducible example 来演示该问题。你的问题是关于 LAF 不起作用。因此,与重新创建 GUI 相关的代码与问题无关。发布代码时简化问题。因此,在开始测试整个应用程序之前,首先让代码与一些组件一起工作。
-
UIManager.setLookAndFeel("..WindowsLookAndFeel");不要对String进行硬编码。 Windows PLAF 将仅在 Windows 上可用(Linux 和 OS X 用户通常对此表示感谢)。而是使用UIManager.getSystemLookAndFeelClassName().. -
@AndrewThompson 谢谢!这是一个很好的建议,虽然它没有解决问题。
-
顺便说一句,我使用的是 WindowBuilder,所以这就是字符串被硬编码的原因。
标签: java swing look-and-feel