2016-11-28 68 views
0

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

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

String chiffre = new String(); 

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

回答

2

你正试图从一个方法在一个匿名类中设置一个局部变量的值。如果你想保持这个值,你需要一个成员变量,而不是局部变量。

尝试设置这样的代码:

private String chiffre = ""; 

//... 

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

编辑:您ke.getCharacter()

之后有一个额外的 ')'
相关问题