我的Java Swing应用程序在Red Hat Linux上运行时没有显示系统外观(KDE)。当我在Red Hat中切换到KDE视图时,它显示了默认(也是丑陋)的Java外观。当我在Red Hat中使用GNOME视图时,它显示了系统外观。我使用以下代码来设置外观。任何人都可以对可能出现的问题提出一些看法吗?
setApplicationLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame.setDefaultLookAndFeelDecorated(true);
private void setApplicationLookAndFeel (String LookAndFeel) {
try {
UIManager.setLookAndFeel(LookAndFeel);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
这最像是openjdk的错误。我在linux / debian上遇到过openjdk的无数问题,我现在本能地删除它并安装Oracle JDK。试试那个。
答案 1 :(得分:0)
SwingUtilities.updateComponentTreeUI(myContainer);
Container
我的意思是JFrame, JDialog or JWindow