2017-03-04 99 views
-2

所以我最近開始學習Java,但有些事情讓我感到困惑。問題是,當我運行程序時,只有窗口彈出,但沒有文本框。JFrame和JTextField沒有出現?

代碼:

public void createWindow(int height, int width, String title) { 
     JFrame window = new JFrame(); 
     window.setSize(width, height); 
     window.setTitle(title); 
     window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     window.setVisible(true); 

     JPanel jp = new JPanel(); 
     window.add(jp); 
     JTextField jt = new JTextField(30); 
     jp.add(jt); 
} 

回答

0

的問題是,當我運行程序,只有窗口出現了,卻沒有 文本框中。

在將所有組件添加到JFrame之前,請勿調用setVisible(..),這是導致問題的原因。

下面的代碼應該可以工作。

public void createWindow(int height, int width, String title) { 
    JFrame window = new JFrame(); 
    window.setSize(width, height); 
    window.setTitle(title); 
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    JPanel jp = new JPanel(); 
    JTextField jt = new JTextField(30); 
    jp.add(jt); 
    window.add(jp); 
    window.setVisible(true); 
}