2011-10-12 82 views
3

我的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

回答

0
SwingUtilities.updateComponentTreeUI(myContainer); 

Container我的意思JFrame, JDialog or JWindow

+0

嗯,這將是明顯更簡單的方法,但我認爲自從JFrame.setDefaultLookAndFeelDecorated(TRUE)被調用,更新應自動happend –

+0

我改變了編譯器從甲骨文網站JRE,27年6月1日但問題仍然存在。我也嘗試更新組件樹層次結構。但隨後由於每 - http://stackoverflow.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

1

它最LIKEY在OpenJDK的故障。我已經受夠了在Linux/Debian的OpenJDK的無數問題,到這種地步,我現在本能地將其刪除,並安裝Oracle JDK。試試那個。

相關問題