我通常使用这条线
javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
,因为如果你运行在另一个系统中的应用,你可以没有窗户的外观和感觉。
,或者你可以使用这样的:因为这样
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("<lookAndFeelName>".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
,如果要强制Windows外观和感觉,如果这LookAndFeel都存在
或者你有2个好办法,你应该确认如果存在设置不的LookAndFeel检查:
try {
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (ClassNotFoundException ex) {
//Handle Exception
} catch (InstantiationException ex) {
//Handle Exception
} catch (IllegalAccessException ex) {
//Handle Exception
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
//Handle Exception
}
或者干脆:
try {
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (Exception ex) {
//Handle Exception
}
WindowsLookAndFeel和WindowsClassicLookAndFeel之间的区别是,“WindowsLookAndFeel”将对应于用户的Windows主题,以“WindowsClassicLookAndFeel”将迫使Java应用程序的GUI,以匹配使用Windows经典主题,即使用户没有他们的Windows主题设置为经典。
所以你可以强制经典,但你不能强制使用Windows经典主题的Vista/7 LookAndFeel。
或者你可以将应用程序设计,以Vista一样东西/ 7的LookAndFeel(开个玩笑)
“WindowsLookAndFeel”的全部用途是将Swing UI完全呈现为本机Windows UI。因此,您的应用程序会自动适应用户选择的任何内容,这是非常有意义的。 – 2013-05-09 10:38:24
我真的不明白问题是什么。无所作为,让用户拥有他们想要的任何PLAF!顺便说一句,* nix和OS X上的用户得到了什么? – 2013-05-09 10:52:16
使用第二个经典之一。您将始终拥有经典风格,独立于用户选择的主题。 – FaithReaper 2017-09-20 09:53:12