0

作为我程序的一部分,我只想打印出用户在 jTextField 中输入的内容

这就是我所做的,但根本不起作用。

JTextField myInput = new JTextField();
String word = myInput.getText();

myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) 
{
System.out.print(word);
}

});

任何的想法?

4

5 回答 5

2

在 actionlistener 中,您需要从文本字段中检索值。

 System.out.print(myInput.getText());

目前,您得到一个空值,因为在您调用 getText() 时,文本字段中没有任何内容,因为用户没有时间输入内容。

于 2013-03-28T13:09:19.663 回答
1

您没有更新 中的文本 ( word) actionPerformed,因此它保持不变。尝试:

myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) 
{
System.out.print(myInput.getText());
}

因此,您甚至根本不需要申报word

于 2013-03-28T13:09:43.377 回答
1
final JTextField myInput = new JTextField();

myInput.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
        System.out.print(myInput.getText());
    }
});

myInput.getText()在外部调用actionListener会将空分配stringword

于 2013-03-28T13:10:09.400 回答
1

在执行的操作方法中取第二行

于 2013-03-28T13:11:17.490 回答
0

谢谢大家的回答。事实上,你很好,我只需要将变量作为最终变量。我仍然不知道为什么要添加它,但它现在可以工作了。我希望'final'以后不会有任何问题。

于 2013-03-28T13:29:31.467 回答