JFrame和JTextField没有出现?

时间:2017-03-04 23:54:58

标签: java swing

所以我最近开始学习Java,但有些事让我感到困惑。问题是,当我运行程序时,只弹出窗口但没有文本框。

代码:

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);
}

1 个答案:

答案 0 :(得分: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);
}