Controles JavaFX y ComboBox

La clase ComboBox crea un control que permite al usuario seleccionar una opción de una lista desplegable de opciones. La lista desplegable aparece cuando el usuario hace clic en el control ComboBox. Cuando el número de opciones excede el tamaño de la ventana desplegable, el usuario puede desplazarse hacia abajo para ver otras opciones. Esto difiere de la ChoiceBox que se usa principalmente cuando el número de opciones es un conjunto relativamente pequeño.

Declaración de importación

javafx.scene.control. Caja combo

Constructores

La clase ComboBox tiene dos constructores dependiendo de si desea crear un objeto ComboBox vacío o uno lleno de elementos.

Para crear un cuadro combinado vacío

ComboBox fruit = nuevo ComboBox ();

Para crear un objeto ComboBox y llenarlo con elementos de cadena de una Lista observable

ObservableList fruits = FXCollections.observableArrayList ( 
"Manzana", "Plátano", "Pera", "Fresa", "Melocotón", "Naranja", "Ciruela");
ComboBox fruit = nuevo ComboBox (frutas);

Métodos útiles

instagram viewer

Si crea un objeto ComboBox vacío, puede usar el método setItems. Pasar una Lista de objetos Observable establecerá los elementos en el cuadro combinado.

ObservableList fruits = FXCollections.observableArrayList ( 
"Manzana", "Plátano", "Pera", "Fresa", "Melocotón", "Naranja", "Ciruela");
fruit.setItems (frutas);

Si desea agregar elementos a la lista ComboBox más adelante, puede usar el método addAll del método getItems. Esto agregará los elementos al final de la lista de opciones:

fruit.getItems (). addAll ("Melón", "Cereza", "Blackberry");

Para agregar una opción a un lugar en particular en la lista de opciones de ComboBox, use el método add del método getItems. Este método toma un valor de índice y el valor que desea agregar:

fruit.getItems (). add (1, "Limón");

Nota: Los valores de índice de ComboBox comienzan en 0. Por ejemplo, el valor anterior de "Lemon" anterior se insertará en la lista de opciones de ComboBox en la posición 2 ya que el índice pasado es 1.

Para preseleccionar una opción en la lista de opciones de ComboBox, use el método setValue:

fruit.setValue ("Cereza");

Si el valor pasado al método setValue no está en la lista, entonces el valor aún se seleccionará. Sin embargo, no significa que este valor se haya agregado a la lista. Si el usuario elige posteriormente otro valor, el valor inicial ya no estará en la lista para ser seleccionado.

Para obtener el valor del elemento seleccionado actualmente en ComboBox, use el método getItems:

Cadena seleccionada = fruit.getValue (). ToString ();

Consejos de uso

El número de opciones que normalmente presenta la lista desplegable de ComboBox es diez (a menos que haya menos de diez elementos, en cuyo caso el valor predeterminado es el número de elementos). Este número se puede cambiar utilizando el método setVisibleRowCount:

fruit.setVisibleRowCount (25);

Nuevamente, si el número de elementos en la lista es menor que el valor establecido en el método setVisibleRowCount, ComboBox mostrará por defecto el número de elementos en el menú desplegable de ComboBox.

Manejo de eventos

Para realizar un seguimiento de la selección de elementos en un objeto ComboBox, puede usar el método addListener del Método selectedItemProperty del SelectionModel para crear un ChangeListener Recogerá los eventos de cambio para el ComboBox:

etiqueta final selectionLabel = nueva etiqueta ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
nuevo ChangeListener () {
nulo público cambiado (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});
instagram story viewer