我试图以这种方式改变我的节目的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有同样的问题! 有什么问题?
由于
答案 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也可以运行 平台。