How to get event when text changes in TextField? JavaFX
How can I generate a new event to handle whenever the TextField's text is changed?
+6
void
source
to share
3 answers
Or use the ChangeListener
interface.
textField.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable,
String oldValue, String newValue) {
System.out.println(" Text Changed to " + newValue + ")\n");
}
});
+7
Fevly pallar
source
to share
Register a listener with TextField
textProperty
:
textField.textProperty().addListener((obs, oldText, newText) -> {
System.out.println("Text changed from "+oldText+" to "+newText);
// ...
});
+12
James_D
source
to share
my decision:
....
String temp;
....
//previously in some method when starting to take initial value of the textfield and save it in a temporal
temp=id_textfield.getText();
....
//when losing focus we check if the new value is different
id_textfield.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
//focus in
if (newValue) {
temp = id_textfield.getText();
}
//focus out
if (oldValue) {
if (!(temp.equals(id_textfield.getText()))) {
System.out.println("New String")
}
}
}
});
0
agriarte
source
to share