2016-11-28 42 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()

之後有一個額外的 ')'
相關問題