我的应用程序使用SAF(jsr 296)。 我想在不同的平台上使用不同的外观和感觉:
Linux的默认(Java)
适用于Windows的系统(本机)。
ADDED :
到目前为止,我在我的Application类的startup()方法中为Windows操作系统硬编码L& F(由Joy和Thompson建议):
if (SystemUtils.IS_OS_WINDOWS) {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
}
if (SystemUtils.IS_OS_WINDOWS) {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
}
在application.properties文件中,指定了默认的L& F.
有没有更好的方法?
答案 0 :(得分:3)
试试这个:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
它将根据运行应用程序的系统设置外观。
答案 1 :(得分:3)
Linux的默认(Java)。 ..system(native)for Windows。
if (System.getProperty("os.name").startsWith("Windows")) {
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
}
将设置外观&感觉Windows对于原生PLAF,同时保留(默认)Metal PLAF for Linux / Unix&使用我们可靠通知的Mac默认名称:
com.apple.laf.AquaLookAndFeel
我可能会推荐Nimbus用于Linux / Unix机器。金属PLAF是千禧年。
答案 2 :(得分:0)
您不需要这么多代码。您可以创建特定于平台的属性文件,或在应用程序属性中使用“system”LnF。 更多详情请见http://kenai.com/projects/bsaf