La classe ComboBox crée un contrôle qui permet à l'utilisateur de sélectionner une option dans une liste déroulante d'options. La liste déroulante apparaît lorsque l'utilisateur clique sur le contrôle ComboBox. Lorsque le nombre d'options dépasse la taille de la fenêtre déroulante, l'utilisateur peut faire défiler vers le bas pour d'autres options. Cela diffère de la ChoiceBox qui est principalement utilisée lorsque le nombre de choix est un ensemble relativement petit.
javafx.scene.control.ComboBox
La classe ComboBox possède deux constructeurs selon que vous souhaitez créer un objet ComboBox vide ou un élément rempli d'éléments.
Pour créer un ComboBox vide
Fruit ComboBox = nouveau ComboBox ();
Pour créer un objet ComboBox et le remplir avec des éléments String à partir d'une ObservableList
ObservableList fruits = FXCollections.observableArrayList (
"Pomme", "Banane", "Poire", "Fraise", "Pêche", "Orange", "Prune");
ComboBox fruit = nouveau ComboBox (fruits);
Si vous créez un objet ComboBox vide, vous pouvez utiliser la méthode setItems. Le passage d'une ObservableList d'objets définira les éléments dans la Combobox.
ObservableList fruits = FXCollections.observableArrayList (
"Pomme", "Banane", "Poire", "Fraise", "Pêche", "Orange", "Prune");
fruit.setItems (fruits);
Si vous souhaitez ajouter des éléments à la liste ComboBox ultérieurement, vous pouvez utiliser la méthode addAll de la méthode getItems. Cela ajoutera les éléments à la fin de la liste d'options:
fruit.getItems (). addAll ("Melon", "Cherry", "Blackberry");
Pour ajouter une option à un emplacement particulier dans la liste d'options ComboBox, utilisez la méthode add de la méthode getItems. Cette méthode prend une valeur d'index et la valeur que vous souhaitez ajouter:
fruit.getItems (). add (1, "Citron");
Remarque: Les valeurs d'index du ComboBox commencent à 0. Par exemple, la valeur ci-dessus de "Lemon" ci-dessus sera insérée dans la liste d'options ComboBox à la position 2 lorsque l'index transmis est 1.
Pour présélectionner une option dans la liste d'options ComboBox, utilisez la méthode setValue:
fruit.setValue ("Cerise");