我通常使用這條線
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