2015-09-15 68 views
1

我的程序從一個叫JFrame的類開始。在框架上,我已經正確設置了LaF,但是當主類調用它時,LaF不會採用。如何調用JFrame並設置外觀和感覺?

如果我只啓動該文件,它的工作原理。如果我開始這個項目,它不會。

下面的代碼是在框架上的主要方法。

try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    } catch (ClassNotFoundException ex) { 
     java.util.logging.Logger.getLogger(TelaTur.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (InstantiationException ex) { 
     java.util.logging.Logger.getLogger(TelaTur.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (IllegalAccessException ex) { 
     java.util.logging.Logger.getLogger(TelaTur.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
     java.util.logging.Logger.getLogger(TelaTur.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 

如果主類調用它:

TelaTur tela = new TelaTur(); 
    tela.setVisible(true); 

它並不需要。打開文件(在Netbeans Shift + F6上)需要LaF。

I'm尋找答案:

如何設置一下,並從主類有什麼感覺?

+5

嘗試在創建和顯示GUI之前運行setLookAndFeel。 –

+1

爲了儘快提供更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。儘管創建GUI元素後可能會設置外觀和感覺,但設置外觀和感覺的大多數用法在它們出現之前可以一次完成 - 所以我認爲最好的解決方案是建議@GilianJoosen .. –

回答

1

這個答案是基於@GilianJoosen在評論中寫的。

我創建了一個名爲setLookAndFeel()的方法,並在構造函數的initComponents()方法之前調用它。

感謝您的答案。