我正在尝试做一个小应用,现在我需要在按下某个按钮时从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);
答案 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。