12-15 ComboBox et ChoiceBox

ComboBox et ChoiceBox sont deux composants JavaFX pour proposer un choix parmi plusieurs options sans occuper trop d'espace. Ils affichent initialement une valeur sélectionnée, et l'utilisateur clique pour dérouler la liste. Pour les deux, on crée une ObservableList contenant les items (des String par exemple), puis on passe cette liste au composant via setItems().

La principale différence : ComboBox et ChoiceBox diffèrent visuellement et en comportement. ComboBox affiche une seule valeur et l'agrandit un peu quand on clique ; ChoiceBox est plus compact. Pour les deux, on définit une valeur par défaut via setValue(). ComboBox supporte aussi la saisie texte libre (selon sa configuration), tandis que ChoiceBox force le choix parmi les items prédéfinis.

ComboBox est idéal quand on a une longue liste d'options ou quand on veut laisser l'utilisateur taper librement. ChoiceBox convient mieux aux listes courtes avec un nombre fixe d'options. Les deux se configurent de la même manière : créer l'ObservableList, ajouter les items, définir la valeur initiale avec setValue().

En résumé

Cette leçon JavaFX explique les composants ComboBox et ChoiceBox comme alternatives aux boutons radio pour offrir des choix à l'utilisateur tout en économisant l'espace écran. Elle détaille leur implémentation avec des listes d'éléments, la configuration d'une option par défaut via la propriété value, et les différences d'usage entre ComboBox (mieux pour listes longues) et ChoiceBox (mieux pour listes courtes).

Points clés

  • ComboBox et ChoiceBox sont des listes déroulantes qui offrent des choix utilisateur plus compacts que les boutons radio
  • Pour implémenter une ComboBox, on utilise une ObservableList avec FXCollections pour stocker les éléments
  • La propriété value permet de définir une option sélectionnée par défaut qui s'affiche automatiquement
  • ComboBox convient aux listes avec beaucoup d'éléments, tandis que ChoiceBox est mieux adapté aux listes courtes
  • Les deux composants offrent une interface déroulante mais ChoiceBox s'étend différemment et affiche moins de flexibilité

Questions fréquentes

Quelle est la différence d'utilisation entre ComboBox et ChoiceBox ?

ComboBox est adapté pour gérer un grand nombre d'éléments tandis que ChoiceBox convient mieux aux listes courtes. ComboBox offre plus de flexibilité pour les listes de grande taille.

Comment définir une option par défaut dans une liste déroulante ?

On utilise la propriété value pour sélectionner l'option souhaitée, qui sera automatiquement affichée et sélectionnée à chaque exécution du programme.

Comment remplir une ComboBox avec une liste d'éléments ?

On crée une ObservableList contenant les éléments (chaînes de caractères) via FXCollections et on la relie à la ComboBox pour peupler la liste déroulante.