2012-11-18 71 views
0

使用Java編寫的使用Swing組件構建GUI的程序在所有操作系統上的顯示都完全相同嗎?Java GUI在所有操作系統上顯示相同嗎?

編輯:讓我這樣問這個問題:使用Java可以設計一個GUI,保證在所有平臺上顯示完全相同的圖形?

+0

關於視覺外觀,你的意思是? – Timr

+7

如果您使用相同的外觀和感覺,那麼它們會顯示相同的內容。但默認情況是Swing使用系統外觀來使應用程序看起來像本機應用程序。 –

+1

@a_horse_with_no_name你應該將其作爲回答 – Abubakkar

回答

1

說了一下,默認情況下它看起來會有所不同,因爲swing會使用系統外觀&,但您可以覆蓋它(http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html),在這種情況下,應用程序的外觀在所有平臺上使用相同的外觀相同&的感覺,或可以禁用某些看起來&感覺功能,如-Dswing.noxp =真

1

差不多如此。但是使用UIManager可以根據操作系統的主題確定主題。
例子:

UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels(); 
    try{ 
     //0-Swing, 1-Mac, 2-?, 3-Windows, 4-Old Windows 
     UIManager.setLookAndFeel(looks[3].getClassName()); 
    }catch(Exception e){ 
     System.out.println(e.getMessage()); 
    } 
+0

雅謝謝,我不計算的情況下,當* *嘗試*看起來不同,取決於當地的環境。 – Celeritas

2

是的,他們會只要你使用Swing,沒有平臺相關的代碼。

這就是說:那時他們不會覺得'自然'。 SWT有點更好

3

使用正確,常見的Swing組件在平臺和L & Fs中令人愉快地穩定,但是沒有保證。一個人應該避免誘惑違反UI默認值。這個例子很多,但關於尺寸的常見缺陷被討論herehere。測試是強制性的,但廣泛可用的虛擬機減輕了工作量。

相關問題