Это поведение по умолчанию TextField
при получении фокуса другими способами, чем взаимодействие с мышью. Если вы хотите изменить это, вы можете добавить слушателя к свойству focused
, которое отменяет выбор:
source.focusedProperty().addListener((o, oldValue, newValue) -> {
if (newValue) {
Platform.runLater(() -> {
int carretPosition = source.getCaretPosition();
if (source.getAnchor() != carretPosition) {
source.selectRange(carretPosition, carretPosition);
}
});
}
});