更改Java程序LookAndFeel不会影响

时间:2011-08-22 09:07:52

标签: java look-and-feel

我试图以这种方式改变我的节目的LAF:

try {
    UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
} catch (Exception ex) {
    Logger.getLogger(MainWin.class.getName()).log(Level.SEVERE, null, ex);
}

但这不会影响,程序仍然看起来像METAL,而报告“com.sun.java.swing.plaf.gtk.GTKLookAndFeel”意味着必须更改:

UIManager.getLookAndFeel().getClass().getName();

换到其他LAF有同样的问题! 有什么问题?

由于

2 个答案:

答案 0 :(得分:3)

在创建GUI之前,您是否设置了外观?因为如果您的GUI已经创建(即使没有显示),您必须告诉Swing LAF已更新:

SwingUtilities.updateComponentTreeUI(frame);

答案 1 :(得分:0)

只有在操作系统是Linux时才会应用GTKLookAndFeel。

在Windows上运行的应用程序使用GTKLookAndFeel不会改变外观 它仍将显示金属外观。

  

注意:GTK + L& F只能在带有GTK +的UNIX或Linux系统上运行   2.2或更高版本安装,而Windows L& F仅在Windows上运行   系统。与Java(Metal)L& F一样,Motif L& F也可以运行   平台。

有关Modifying the Look and Feel

的更多信息