web-dev-qa-db-fra.com

Différences entre ComboBox et ChoiceBox dans JavaFX

Quelles sont les différences entre ComboBox et ChoiceBox dans JavaFX? Je ne suis pas tout à fait clair à ce sujet uniquement à partir du Javadoc pour les deux classes.

À la fin de la journée, j'ai besoin d'un contrôle déroulant qui peut être repeuplé dynamiquement au moment de l'exécution (j'ai une base de données sur le backend). Pour tous les cas dans mon application, je n'ai besoin que de sélectionner un élément dans les menus déroulants. L'utilisateur ne devrait pas non plus être en mesure d'ajouter une option au menu déroulant à partir des écrans sur lesquels ils sont visibles.

Ma compréhension est que ComboBox permet à l'utilisateur d'ajouter des éléments à la liste déroulante et permet de sélectionner plusieurs éléments, mais à partir du Javadoc, il semble qu'il soit possible de configurer ComboBox d'une manière qui réponde à mes besoins, il semble donc qu'ils soient interchangeables dans une certaine mesure. Je suppose que ComboBox a un peu plus de frais généraux que ce dont j'ai vraiment besoin dans ce cas, mais y a-t-il autre chose que seul un ComboBox pourrait faire qui pourrait prendre en compte cette décision?

Modifier

Je suppose que j'ai en quelque sorte répondu à ma propre question sur les principales différences, alors y a-t-il autre chose que je n'ai pas mentionné qui différencie les 2?

17
Slayer0248

ComboBox prend en charge un cellFactory qui permet essentiellement une interface utilisateur arbitraire pour afficher l'élément dans chaque cellule. ChoiceBox n'a pas cette fonctionnalité et n'affichera que le texte dans chaque cellule (que vous pouvez configurer en utilisant converter ).

Voir http://docs.Oracle.com/javase/8/javafx/user-interface-tutorial/combo-box.htm#BABJCCIB listant 16.5 pour un exemple d'une fabrique de cellules personnalisée dans un combo boîte.

19
James_D

Eh bien ChoiceBox est de l’idée vous montrant des choix optionnels, et ComboBox vous montre bien une liste d’éléments, ChoiceBox est comme ComboBox mais ComboBox est pour une liste très longue car vous pouvez spécifier le nombre d'éléments à afficher comme 10 ou plus ou moins, mais ChoiceBox n'a pas l'option, il répertorie toutes les options et si c'est très long, vous ne le feriez pas comme le look.

en bref ChoiceBox, pour un petit ensemble de liste inférieur à 10, pour plus de ComboBox

C'est de mon point de vue la différence, car pour le style, vous pouvez tout styler.

9
Elltz

Combo Box Une combo box est un élément typique d'une interface utilisateur qui permet aux utilisateurs de choisir l'une des options. Une zone de liste déroulante est utile lorsque le nombre d'éléments à afficher dépasse une certaine limite, car elle peut ajouter un défilement à la liste déroulante, contrairement à une zone de choix. Si le nombre d'éléments ne dépasse pas une certaine limite, les développeurs peuvent décider si une zone de liste déroulante ou une zone de choix répond mieux à leurs besoins.

Boîte de choix Ce chapitre décrit les boîtes de choix, les commandes de l'interface utilisateur qui permettent de sélectionner rapidement entre quelques options.

http://docs.Oracle.com/javafx/2/ui_controls/jfxpub-ui_controls.htm

3
Bhniy Andrew

On peut simplement différencier ComboBox et ChoiceBox par leurs fonctionnalités. Jetons un coup d'œil à la définition.

Le contrôle JavaFX ComboBox permet aux utilisateurs de choisir une option parmi liste prédéfinie de choix, ou tapez une autre valeur si aucun des choix prédéfinis ne correspond à ce que le l'utilisateur souhaite sélectionner.

Le contrôle JavaFX ChoiceBox permet aux utilisateurs de choisir une option dans une liste prédéfinie de choix niquement.

1
AHAMED AAQIB

Outre les différences mentionnées:

  • ComboBox peut afficher une invite avec setPromptText (ChoiceBox ne fournit pas cette méthode)
  • ComboBox peut afficher plus de 10 lignes avec setVisibleRowCount (ChoiceBox ne fournit pas cette méthode)
0
golimar