i use selectionAll() to select the whole text in my textfield but it just works when the focus comes from keyboard (like Tab).
If i click with my mouse in the textfield, it selects the text just for a very short moment. But it has to work like with the focus which comes from the keyboard.
flaschenPreis.focusedProperty().addListener(new ChangeListener<Boolean>() {
public void changed(ObservableValue ov, Boolean t, Boolean t1) {
if ( flaschenPreis.isFocused() && !flaschenPreis.getText().isEmpty()) {
flaschenPreis.selectAll();
}
}
});
literPreis.focusedProperty().addListener(new ChangeListener() {
public void changed(ObservableValue ov, Object t, Object t1) {
if (literPreis.isFocused() && !literPreis.getText().isEmpty()) {
literPreis.selectAll();
}
}
});
flaschenPreis und literPreis are my textfields
This worked for me:
PathField.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused) {
Platform.runLater(() -> PathField.selectAll());
}
});
This trick will help you :
final TextField tf = new TextField("Text");
tf.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue ov, Boolean t, Boolean t1) {
Platform.runLater(new Runnable() {
@Override
public void run() {
if (tf.isFocused() && !tf.getText().isEmpty()) {
tf.selectAll();
}
}
});
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With