JavaFX中ComboBox和ChoiceBox之间的差异

JavaFX中的ComboBox和ChoiceBox有什么区别?我并不完全清楚这两个类的Javadoc。

在一天结束时,我需要一个可以在运行时动态重新填充的下拉控件(我在后端有一个数据库)。对于应用程序中的所有情况,我只需要从下拉菜单中选择一个项目。用户也不应该能够从他们可见的屏幕上向下拉菜单添加选项。

我的理解是,ComboBox允许用户将项目添加到下拉列表中,并允许选择多个项目,但是从Javadoc中,似乎可以以满足我需求的方式设置ComboBox,因此它们似乎在某种程度上是可以互换的。我想在这种情况下,ComboBox的开销比我真正需要的要多一些,但是只有ComboBox才能做其他任何事情来影响这个决定吗?

编辑

我想我有点回答了我自己关于关键差异的问题,那么还有其他我没有提到的东西来区分2吗?


答案 1

ComboBox支持一个cellFactory,它基本上允许一个任意的UI来显示每个单元格中的项目。 没有此功能,并且只会在每个单元格中显示文本(您可以使用转换器进行配置)。ChoiceBox

请参阅 http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/combo-box.htm#BABJCCIB 清单 16.5 中的组合框中的自定义单元工厂的示例。


答案 2

好吧,向您展示可选选项的想法,并很好地向您显示项目列表,就像一个非常长的列表,因为您可以指定要显示的项目数量,如10个或更多或更少,但没有选项它列出了所有选项,如果它很长,您不会喜欢外观。ChoiceBoxComboBoxChoiceBoxComboBoxComboBoxChoiceBox

简而言之,选择框,对于小于10的小列表集,对于更多的组合盒

从我的角度来看,这就是区别,至于造型你可以造型。


推荐