ChoiceBox es parte del paquete JavaFX. ChoiceBox muestra un conjunto de elementos y permite al usuario seleccionar una sola opción y mostrará el elemento actualmente seleccionado en la parte superior. ChoiceBox por defecto no tiene ningún elemento seleccionado a menos que se seleccione lo contrario. Uno puede especificar los elementos y luego el elemento seleccionado, o puede especificar el elemento seleccionado y luego los elementos. Los constructores de la clase ChoiceBox son :
- ChoiceBox() : Crea un nuevo ChoiceBox vacío.
- ChoiceBox(ObservableList items) : Crea un nuevo ChoiceBox con el conjunto dado de elementos.
Métodos comúnmente utilizados :
método | explicación |
---|---|
getItems() | Obtiene el valor de los elementos de propiedad. |
obtenerValor() | Obtiene el valor del valor de la propiedad. |
ocultar() | Cierra la lista de opciones. |
setItems (valor de lista observable) | Establece el valor de los elementos de propiedad. |
establecerValor(valor T) | Establece el valor del valor de la propiedad. |
mostrar() | Abre la lista de opciones. |
El siguiente programa ilustra el uso de ChoiceBox:
- Programa para crear un ChoiceBox y agregarle elementos : este programa crea un ChoiceBox llamado c y le agrega una lista de strings usando (ChoiceBox(FXCollections.observableArrayList(string_array))). Agregaríamos la opción y una etiqueta al mosaico (función getChildren().add()). Luego crearemos un escenario (contenedor) y agregaremos el mosaico a la escena y agregaremos la escena al escenario. Luego muestre el escenario usando la función show().
Java
// Java Program to create a ChoiceBox and add items to it. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.*; import javafx.stage.Stage; public class Choice_1 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating ChoiceBox"); // create a button Button b = new Button("show"); // create a tile pane TilePane r = new TilePane(); // create a label Label l = new Label("This is a choice box"); // string array String st[] = { "Arnab", "Andrew", "Ankit", "None" }; // create a choiceBox ChoiceBox c = new ChoiceBox(FXCollections.observableArrayList(st)); // add ChoiceBox r.getChildren().add(l); r.getChildren().add(c); // create a scene Scene sc = new Scene(r, 200, 200); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
- Salida :
- Programa para crear un ChoiceBox y agregarle un oyente : este programa crea un ChoiceBox llamado c y le agrega una lista de strings usando (ChoiceBox(FXCollections.observableArrayList(string_array))). Agregaríamos un oyente de cambios para detectar cuándo el usuario selecciona un elemento de su elección (agregaremos el oyente usando la función addListener()). El detector de cambios tiene una función (vacío público cambiado (ObservableValue ov, Valor numérico, Número nuevo_valor)) que se invoca cuando se cambia la selección de elección. Agregaríamos la opción y una etiqueta al mosaico (función getChildren().add()). Luego crearemos un escenario (contenedor) y agregaremos el mosaico a la escena y agregaremos la escena al escenario. Finalmente, muestra el escenario usando la función show().
Java
// Java Program to create a ChoiceBox and add listener to it. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.*; import javafx.beans.value.*; import javafx.stage.Stage; public class Choice_2 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating ChoiceBox"); // create a button Button b = new Button("show"); // create a tile pane TilePane r = new TilePane(); // create a label Label l = new Label("This is a choice box"); Label l1 = new Label("nothing selected"); // string array String st[] = { "Arnab", "Andrew", "Ankit", "None" }; // create a choiceBox ChoiceBox c = new ChoiceBox(FXCollections.observableArrayList(st)); // add a listener c.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() { // if the item of the list is changed public void changed(ObservableValue ov, Number value, Number new_value) { // set the text for the label to the selected item l1.setText(st[new_value.intValue()] + " selected"); } }); // add ChoiceBox r.getChildren().add(l); r.getChildren().add(c); r.getChildren().add(l1); // create a scene Scene sc = new Scene(r, 200, 200); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
- Salida :
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea. Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ChoiceBox.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA