java - llenar - ¿Qué ChoiceBox-Event elegir?
llenar listview javafx (1)
Agregue un oyente a su casilla de selección inyectada con @FXML en su controlador:
choicebox.getSelectionModel().selectedItemProperty().addListener(choiceboxSelectionChangeListener);
También puedes enlazar al elemento seleccionado:
label.textProperty().bind(choicebox.getSelectionModel().selectedItemProperty());
Aquí hay un ejemplo de conectar un oyente en un controlador para un ComboBox definido en FXML. La lógica para un ChoiceBox es prácticamente idéntica.
Coloqué un ChoiceBox dentro de un fxml con JavaFX Scene Builder.
El FXML tiene un controlador asignado.
Mi pregunta es: ¿qué evento necesito registrar si quiero saber sobre los valores modificados?
onInputMethodTextChanged="#languageSelectionModified"
esto no funciona con el siguiente código
public void languageSelectionModified(Event event) {
ChoiceBox<String> box = (ChoiceBox<String>) event.getSource();
System.out.println(box.getValue());
}
y esto solo funciona para el clic inicial (es decir, abrir la lista, no cuando se selecciona un elemento):
onMouseClicked="#languageSelectionModified"
Aunque Mouse-Events nunca sería una buena elección debido a situaciones en las que el toque o el teclado es el método de entrada, aún así se puede acceder al System.out.
Absolutamente no tengo idea de dónde están documentadas esas cosas (en la API predeterminada de Java no lo están)