javafx在String中存储KeyTyped的值

时间:2016-11-28 16:12:23

标签: java javafx

我想将一个事件“setOnKeyTyped”的值存储在一个String中(稍后再使用)但是当我影响keyEvent的字符到我的字符串时,我有一个错误:

“从内部类引用的局部变量必须是最终的或有效的最终”

 String chiffre = new String();

 b.setOnKeyTyped(new EventHandler<KeyEvent>() {
   public void handle(KeyEvent ke) {
     chiffre = ke.getCharacter());
   }
 });

1 个答案:

答案 0 :(得分:2)

您正尝试从匿名类中的方法设置局部变量的值。如果要保留该值,则需要一个成员变量,而不是局部变量。

尝试设置如下代码:

private String chiffre = "";

//...

public void yourMethod()
{
    //...
    b.setOnKeyTyped(new EventHandler<KeyEvent>() {
       public void handle(KeyEvent ke) {
         chiffre = ke.getCharacter();
       }
    });
    //...
 }
编辑:你有一个额外的&#39;)&#39;在ke.getCharacter()

之后