Java Swing应用程序L&F在KDE环境(Red Hat Linux的)

问题描述:

我的Java Swing应用程序没有显示系统的外观和感觉(KDE),而在Red Hat Linux上运行。它显示了在Red Hat中切换到KDE视图时的默认(也是丑陋的)Java外观和感觉。它显示了我在Red Hat中使用GNOME视图时的系统外观和感觉。我正在使用下面的代码来设置外观和感觉。任何人都可以提出一些关于可能是什么问题的看法?Java Swing应用程序L&F在KDE环境(Red Hat Linux的)

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

什么编译器? Sun Java? –

+0

的OpenJDK - 1.6 Eclipse的伽利略 – user396089

SwingUtilities.updateComponentTreeUI(myContainer); 

Container我的意思JFrame, JDialog or JWindow

+0

嗯,这将是明显更简单的方法,但我认为自从JFrame.setDefaultLookAndFeelDecorated(TRUE)被调用,更新应自动happend –

+0

我改变了编译器从甲骨文网站JRE,27年6月1日但问题仍然存在。我也尝试更新组件树层次结构。但随后由于每 - http://*.com/questions/209731/how-do-i-force-get-to-use-gtklookandfeel-in-java-on-kde – user396089

+0

我试图迫使其采取GTK L&F通过改变到UIManager.setLookAndFeel( “com.sun.java.swing.plaf.gtk.GTKLookAndFeel”)。现在问题在于 - 尽管L&F已经改为KDE L&F,但所有文本字符都已经失去了消除锯齿的属性。更不用说LAF也是硬编码的!混乱。 – user396089

它最LIKEY在OpenJDK的故障。我已经受够了在Linux/Debian的OpenJDK的无数问题,到这种地步,我现在本能地将其删除,并安装Oracle JDK。试试那个。