Я поместил ChoiceBox в fxml с помощью JavaFX Scene Builder.
FXML имеет назначенный ему контроллер.
Мой вопрос: какое событие мне нужно зарегистрировать, если я хочу знать об измененных значениях?
onInputMethodTextChanged="#languageSelectionModified"
это не работает со следующим кодом
public void languageSelectionModified(Event event) {
ChoiceBox<String> box = (ChoiceBox<String>) event.getSource();
System.out.println(box.getValue());
}
и это работает только для первого клика (т.е. при открытии списка, а не при выборе элемента):
onMouseClicked="#languageSelectionModified"
Хотя Mouse-Events никогда не будет хорошим выбором из-за ситуаций, когда сенсорный экран или клавиатура являются методом ввода, он все же доказывает, что System.out может быть достигнут.
Я совершенно не знаю, где эти вещи задокументированы (в Java-API по умолчанию их нет)