JText .getText()什么都不返回?

时间:2017-04-05 18:11:01

标签: java swing user-interface

我正在尝试做一个小应用,现在我需要在按下某个按钮时从JTextField获取一些数据。问题是,当我按下按钮时,没有任何反应..我使用println("yes")s working printing "yes' on ActionListener`进行了测试。我该怎么办?

以下是代码的一部分:

label = new Label("Width:");
label.setMaximumSize(new Dimension(40, 25));
this.add(label);

textField = new TextField();
textField.setPreferredSize(new Dimension(80, 25));
textField.setMaximumSize(new Dimension(80, 25));
this.add(textField);

button = new JButton("Submit");
button.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {

        System.out.println(textField.getText()); // <- here textField.getText() does not return anything.
    }
});
this.add(button);

2 个答案:

答案 0 :(得分:2)

我不知道您使用的是哪些组件,但我认为组件声明存在问题,应该是:

textField = new JTextField();
label = new JLabel("Width:");

而不是:

textField = new TextField();
label = new Label("Width:");

      JTextField() and not TextField()
//----^--------------------^---------------

答案 1 :(得分:1)

TextField是awt的一部分

textField = new TextField();

通过这个构造函数,要显示的指定文本是&#34; &#34;

by getText()返回此TextComponent中包含的文本,以便获得&#34; &#34;字符串。

JTextField是摆动的一部分

textField = new JTextField();

通过此构造函数,要显示的初始字符串为null

by getText()返回此TextComponent中包含的文本,以便您获得null。