作为我程序的一部分,我只想打印出用户在jTextField中输入的内容
这是我的工作,但根本不起作用。
JTextField myInput = new JTextField();
String word = myInput.getText();
myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.print(word);
}
});
有什么想法吗?
答案 0 :(得分:2)
在actionlistener中,您需要从文本字段中检索值。
System.out.print(myInput.getText());
目前,您获得一个空值,因为在您调用getText()时,文本字段中没有任何内容,因为用户没有时间输入内容。
答案 1 :(得分:1)
您没有更新word
中的文字(actionPerformed
),因此它保持不变。尝试:
myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.print(myInput.getText());
}
因此,您根本不需要声明word
。
答案 2 :(得分:1)
final JTextField myInput = new JTextField();
myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.out.print(myInput.getText());
}
});
在myInput.getText()
之外拨打actionListener
会将空string
分配给word
。
答案 3 :(得分:1)
在行动执行方法中取第2行
答案 4 :(得分:0)
谢谢大家的回答。事实上你没事,我只需要将变量视为最终变量。我仍然不知道为什么我应该添加它,但它现在正在工作。我希望“最终”不会在以后造成任何问题。