我想将一个事件“setOnKeyTyped”的值存储在一个String中(稍后再使用)但是当我影响keyEvent的字符到我的字符串时,我有一个错误:
“从内部类引用的局部变量必须是最终的或有效的最终”
String chiffre = new String();
b.setOnKeyTyped(new EventHandler<KeyEvent>() {
public void handle(KeyEvent ke) {
chiffre = ke.getCharacter());
}
});
答案 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()之后