在Swing应用程序框架jsr 296中设置不同的外观和感觉

时间:2011-07-22 09:06:44

标签: java swing look-and-feel jsr296

我的应用程序使用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.

有没有更好的方法?

3 个答案:

答案 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