2012-03-25 21 views
8

Dobre Developers Day :)JavaFX TextArea onchange

Czy komponent JavaFX, TextArea, posiada wsparcie dla jakiegoś zdarzenia jak onTextChange lub podobne? Tak, wiem dla keyPressed, keyTyped ... ale jak obsługiwać zdarzenie, jeśli inna "akcja" zmienia się w TextArea (np. TxArea.setText ("jakiś tekst")).

Odpowiedz

14

Podobnie jak w przypadku wszystkich JavaFX, wystarczy dodać detektor do TextArea textProperty().

+0

Och, yes.Thank pan Jonathan –

39

Jest to kod:

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 głos. Preferowałem twoją odpowiedź niż powyższa dla próbki kodu. Pośpiech, by dać najszybszą odpowiedź, nie zawsze jest dobry. – hirikarate

+2

Czy można dodać to w SceneBuilder, czy tylko w kodzie? – Czechnology

0

Korzystanie z wyrażeń lambda

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