La classe ComboBox crea un controllo che consente all'utente di selezionare un'opzione da un elenco a discesa di opzioni. L'elenco a discesa viene visualizzato quando l'utente fa clic sul controllo ComboBox. Quando il numero di opzioni supera la dimensione della finestra a discesa, l'utente può scorrere verso il basso per ulteriori opzioni. Ciò differisce dal ChoiceBox che viene utilizzato principalmente quando il numero di scelte è un set relativamente piccolo.
javafx.scene.control.ComboBox
La classe ComboBox ha due costruttori a seconda che si desideri creare un oggetto ComboBox vuoto o uno popolato con elementi.
Per creare un ComboBox vuoto
ComboBox fruit = new ComboBox ();
Per creare un oggetto ComboBox e popolarlo con elementi String da un ObservableList
Frutti ObservableList = FXCollections.observableArrayList (
"Mela", "Banana", "Pera", "Fragola", "Pesca", "Arancia", "Prugna");
ComboBox fruit = nuovo ComboBox (frutti);
Se si crea un oggetto ComboBox vuoto, è possibile utilizzare il metodo setItems. Il passaggio di un Elenco osservabile di oggetti imposterà gli elementi nella casella combinata.
Frutti ObservableList = FXCollections.observableArrayList (
"Mela", "Banana", "Pera", "Fragola", "Pesca", "Arancia", "Prugna");
fruit.setItems (frutta);
Se si desidera aggiungere elementi all'elenco ComboBox in un secondo momento, è possibile utilizzare il metodo addAll del metodo getItems. Questo aggiungerà gli elementi alla fine dell'elenco delle opzioni:
fruit.getItems (). addAll ("Melon", "Cherry", "Blackberry");
Per aggiungere un'opzione a una posizione specifica nell'elenco delle opzioni di ComboBox, utilizzare il metodo add del metodo getItems. Questo metodo accetta un valore di indice e il valore che si desidera aggiungere:
fruit.getItems (). add (1, "Lemon");
Nota: I valori dell'indice di ComboBox iniziano da 0. Ad esempio, il valore sopra di "Lemon" sopra verrà inserito nell'elenco delle opzioni di ComboBox alla posizione 2 quando l'indice passato è 1.
Per preselezionare un'opzione nell'elenco delle opzioni di ComboBox, utilizzare il metodo setValue:
fruit.setValue ( "Cherry");