Jtextfield在发布时不会出现。但是在调整大小之后,是的

时间:2015-02-02 00:42:54

标签: jtextfield

我需要一些帮助。我对此代码的意图是使用按钮和文本字段显示计算器。我想使用一个borderlayout,它将有一个面向北的文本区域,一个面板向南的按钮将是。我在哪里放置一个gridlayout来制作按钮。

但问题是,当我输入文本字段时,它不会在启动时显示。但是当我手动调整窗口的大小时,会立即显示。有谁知道发生了什么?

 public class calculator extends JFrame {

 public calculator() {
  super("Calculator");

  setLayout(new BorderLayout());
  setSize(new Dimension(250,250));
    setVisible(true);


 }

 public static void main(String[] args) {
    calculator c = new calculator();
    JPanel panel1 = new JPanel();
    panel1.add(new JTextField(20));
    c.add(panel1,BorderLayout.NORTH);

 }

}

编辑:已解决

1 个答案:

答案 0 :(得分:0)

public class calculator extends JFrame {

    public calculator() {
        super("Calculator");    
        setLayout(new BorderLayout());
        setSize(new Dimension(250, 250));
        // setVisible(true); Wrong

    }

    public static void main(String[] args) {
        calculator c = new calculator();
        JPanel panel1 = new JPanel();
        panel1.add(new JTextField(20));
        c.add(panel1, BorderLayout.NORTH);
        c.setVisible(true); // Your components must be added before.
    }

}