2012-04-06 63 views
0

我在我的Java應用程序中設置了外觀和感覺靈敏度,但我不知道爲什麼視圖始終與一幀不同。在一個框架中,我獲得了非常好的藍色靈氣,而在其他框架中,我獲得了灰色的靈氣,但這不合適。另一個沒有顯示爲使用靈氣外觀和感覺。下面是我在主Java nimbus外觀視圖總是不同

try { 
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { 
     if ("Nimbus".equals(info.getName())) { 
      UIManager.setLookAndFeel(info.getClassName()); 
      break; 
     } 
    } 
    } catch (Exception e) { 
    // If Nimbus is not available, you can set the GUI to another look and feel. 
} 

使用的代碼我還進口

import javax.swing.*; 
import javax.swing.UIManager.LookAndFeelInfo; 

我希望有人能幫幫我,謝謝。

+1

可能相關:http://stackoverflow.com/questions/7612592/jframe-and-nimbus-look-and-feel – assylias 2012-04-06 20:10:34

+1

是否如果您使用'java -Dswing.defaultlaf = javax.swing.plaf.nimbus.NimbusLookAndFeel MyApp'運行應用程序,它會正常工作(請參閱:http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus。 HTML) – ulmangt 2012-04-06 20:11:16

回答

5

當您從一種外觀切換到另一種外觀時,您必須確保爲每個頂級容器調用SwingUtilities#updateComponentTreeUI方法一次。此外,如果您存儲不屬於任何可見的UI /頂級容器的UI組件,則還必須更新這些組件。

例如,如果您在切換外觀時已經創建了第二個面板,請務必對其進行更新。

有,像在Swing中幾乎所有的東西,一個相當不錯的tutorial可用