普段はこのラインを使っています
javax.swing.UIManager.setLookAndFeel( javax.swing.UIManager.getSystemLookAndFeelClassName());
アプリケーションを別のシステムで実行すると、Windows のルック アンド フィールがなくなる可能性があるからです。
またはこれを使用できます:
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("<lookAndFeelName>".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
このように、ウィンドウのルック アンド フィールを強制する場合は、この lookAndFeel が存在するかどうかを確認する必要があるためです。
または、存在するかどうかを確認せずに lookAndFeel を設定する 2 つの良い方法があります。
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" は、ユーザーが Windows テーマをクラシックに設定していなくても、Java アプリケーション GUI を強制的に Windows クラシック テーマに一致させることです。
したがって、クラシックを強制することはできますが、Windows クラシック テーマを使用して Vista/7 の LookAndFeel を強制することはできません。
または、アプリケーションを Vista/7 の LookAndFeel のようなものに設計することもできます (冗談です)。