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?
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.
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.
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
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.
Outre les différences mentionnées:
setPromptText
(ChoiceBox ne fournit pas cette méthode)setVisibleRowCount
(ChoiceBox ne fournit pas cette méthode)