Java Text字段,从侦听器类内部传输String

时间:2016-05-05 15:41:53

标签: java listener action jtextfield

下面我尝试将String temp的值赋给String test,以便可以在actionlistener类之外进行处理。我得到一个错误,变量必须是最终的或有效的最终。有没有办法在类外部获取临时值,以便可以使用它?

String test;
textField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
  temp = UserScreen.textField.getText();
  UserScreen.messageAppend(temp); 
  test = temp;
 }
});

2 个答案:

答案 0 :(得分:0)

只有在动作发生时才会调用actionListener,所以在函数中声明它之后,String测试将为null。

您可以将字符串测试声明为类的成员变量,然后再重复使用。

答案 1 :(得分:0)

为了使其起作用,你应该声明 String test;作为类变量而不是那里。

另一种选择是将其声明为最终版,但这在你的代码中没有任何意义,因为一旦声明你就不能改变它的价值......

所以选项1就是你的情况