Présentation de ChoiceBox

le

ChoiceBox
La classe est utilisée pour créer un contrôle qui présente à l'utilisateur quelques choix à choisir dans une liste déroulante. L'utilisateur n'est autorisé qu'à choisir l'une des options. Lorsque la liste déroulante ne s'affiche pas, l'option actuellement sélectionnée est la seule visible. Il est possible de régler
ChoiceBox
refuser d'accepter une option nulle comme choix valide.

Déclaration d'importation

import javafx.scene.control.ChoiceBox;

Constructeurs

le

ChoiceBox
La classe a deux constructeurs, l'un pour une liste d'éléments vide et l'autre avec un ensemble d'éléments donné:
// Créer un ChoiceBox vide
ChoiceBox choix = nouveau ChoiceBox ();
// Créer un ChoiceBox en utilisant une collection de listes observables
ChoiceBox cboices = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Méthodes utiles

Si vous choisissez de créer un espace vide

ChoiceBox
les éléments peuvent être ajoutés ultérieurement à l'aide du
setItems
méthode:
choix.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Et, si vous voulez savoir quels éléments se trouvent dans un

ChoiceBox
vous pouvez utiliser le
getItems
méthode:
Liste des options = choix.getItems ();

Pour choisir une option à sélectionner actuellement, utilisez

setValue
et lui fournir l'une des options:
choice.setValue ("First");

Pour obtenir la valeur de l'option actuellement sélectionnée, utilisez le

getValue
et l'affecter à une chaîne:
Option chaîne = choix.getValue (). ToString ();

Gestion des événements

Afin d'écouter les événements d'un

ChoiceBox
objet, le
SelectionModel
est utilisé. le
ChoiceBox
utilise le
SingleSelectionModel
classe qui ne permet de choisir qu'une seule option à la fois. le
selectedIndexProperty
nous permet d'ajouter un
ChangeListener
. Cela signifie que chaque fois que l'option sélectionnée passe à une autre option, l'événement de modification se produit. Comme vous pouvez le voir dans le code ci-dessous, une modification est écoutée et lorsqu'elle se produit, l'option précédemment sélectionnée et la nouvelle option sélectionnée peuvent être déterminées:
Options de la liste finale = choix.getItems ();
choice.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener ()
@Override public void changed (ObservableValue ov, Number oldSelected, Number newSelected)
System.out.println ("Ancienne option sélectionnée:" + options.get (oldSelected.intValue ()));
System.out.println ("Nouvelle option sélectionnée:" + options.get (newSelected.intValue ()));

);

Il est également possible d'afficher ou de masquer la liste des options sans que l'utilisateur ait à cliquer sur le

ChoiceBox
objet en utilisant le
spectacle
et
cacher
méthodes. Dans le code ci-dessous, un objet Button est utilisé pour appeler la méthode show d'un
ChoiceBox
objet lorsque le
Bouton
est cliqué:
// Utilisez un stackpane pour une disposition simple des contrôles
Racine StackPane = nouveau StackPane ();
// Créer un bouton pour afficher les options dans la ChoiceBox
Button showOptionButton = new Button ("Afficher les options");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos.TOP_CENTER);
// Créez la ChoiceBox avec quelques options
choix final de ChoiceBox = nouveau ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). add (choix);
// Utilisez ActionEvent pour appeler la méthode show ChoiceBox
showOptionButton.setOnAction (new EventHandler ()
@Override public void handle (ActionEvent e)
choix.show ();

);
// Définissez la scène et mettez la scène en mouvement…
Scène scène = nouvelle scène (racine, 300, 250);
primaryStage.setScene (scène);
primaryStage.show ();

Pour en savoir plus sur les autres contrôles JavaFX, consultez les contrôles de l'interface utilisateur JavaFX.