2012-03-25 121 views
8

好日子開發者:)JavaFX TextArea onChange事件

JavaFX組件TextArea是否支持像onTextChange或類似的事件? 是的,我知道keyPressed,keyTyped ...但如何處理事件,如果另一個「行動」在TextArea(例如txArea.setText(「一些文本」))上做出更改。

回答

14

與所有的JavaFX一樣,只需向TextArea textProperty()添加一個偵聽器即可。

+0

哦,你yes.Thank喬納森 – 2012-03-26 06:26:59

39

這是代碼:

textArea.textProperty().addListener(new ChangeListener<String>() { 
    @Override 
    public void changed(final ObservableValue<? extends String> observable, final String oldValue, final String newValue) { 
     // this will run whenever text is changed 
    } 
}); 
+6

+1投票。 對於代碼示例,我首選您的答案。急於給出最快的答案並不總是好的。 – hirikarate 2013-09-22 05:03:37

+2

是否有可能在SceneBuilder中添加此代碼,或僅在代碼中添加? – Czechnology 2015-10-21 12:30:22

0

使用Lambda表達式

textArea.textProperty().addListener((obs,old,niu)->{ 
    // TODO here 
});