Descripción general de ChoiceBox

los

ChoiceBox
La clase se utiliza para crear un control que presenta al usuario algunas opciones para elegir de una lista desplegable. El usuario solo puede elegir una de las opciones. Cuando la lista desplegable no se muestra, la opción seleccionada actualmente es la única visible. Es posible configurar el
ChoiceBox
oponerse a aceptar una opción nula como una opción válida.

Declaración de importación

import javafx.scene.control.ChoiceBox;

Constructores

los

ChoiceBox
La clase tiene dos constructores, uno para una lista vacía de elementos y otro con un conjunto dado de elementos:
// Crea un ChoiceBox vacío
ChoiceBox elecciones = new ChoiceBox ();
// Crea un ChoiceBox usando una colección de listas observables
ChoiceBox cboices = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Métodos útiles

Si elige crear un vacío

ChoiceBox
los elementos se pueden agregar más tarde usando el
setItems
método:
options.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Y, si desea averiguar qué elementos hay en un

ChoiceBox
puedes usar el
getItems
método:
Lista de opciones = options.getItems ();

Para elegir una opción para seleccionarla actualmente, use el

valor ajustado
método y proporcionarle una de las opciones:
options.setValue ("Primero");

Para obtener el valor de la opción seleccionada actualmente, use el correspondiente

getValue
método y asígnelo a una cadena:
Opción de cadena = choices.getValue (). ToString ();

Manejo de eventos

Para escuchar eventos para un

ChoiceBox
objeto, el
SelecciónModelo
es usado los
ChoiceBox
usa el
SingleSelectionModel
clase que solo permite elegir una opción a la vez. los
selectedIndexProperty
El método nos permite agregar un
ChangeListener
. Esto significa que siempre que la opción seleccionada cambie a otra opción, se producirá el evento de cambio. Como puede ver en el siguiente código, se escucha un cambio y cuando ocurre la opción seleccionada previamente y la opción recién seleccionada se puede determinar:
Lista final opciones = options.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener ()
@Override public void changed (ObservableValue ov, Number oldSelected, Number newSelected)
System.out.println ("Antigua opción seleccionada:" + options.get (oldSelected.intValue ()));
System.out.println ("Nueva opción seleccionada:" + options.get (newSelected.intValue ()));

);

También es posible mostrar u ocultar la lista de opciones sin que el usuario tenga que hacer clic en el

ChoiceBox
objeto mediante el uso de
espectáculo
y
esconder
métodos. En el siguiente código, se usa un objeto Button para llamar al método show de un
ChoiceBox
objetar cuando el
Botón
se hace clic:
// Use un panel de pila para un diseño simple de los controles
StackPane root = new StackPane ();
// Crear botón para mostrar las opciones en ChoiceBox
Botón showOptionButton = botón nuevo ("Mostrar opciones");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos.TOP_CENTER);
// Crea el ChoiceBox con algunas opciones
opciones finales de ChoiceBox = nueva ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). add (opciones);
// Usa el ActionEvent para llamar al método show ShowBox
showOptionButton.setOnAction (new EventHandler ()
@Override public anular handle (ActionEvent e)
elecciones.show ();

);
// Establecer la escena y poner el escenario en movimiento ...
Escena de escena = nueva escena (raíz, 300, 250);
primaryStage.setScene (escena);
primaryStage.show ();

Para obtener información sobre otros controles JavaFX, eche un vistazo a los controles de interfaz de usuario JavaFX.