2017-03-04 61 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); 
}