Различия между ComboBox и ChoiceBox в JavaFX
Каковы различия между ComboBox и ChoiceBox в JavaFX? Я не совсем понимаю это только из Javadoc для обоих классов.
В конце дня мне нужен элемент управления выпадающего списка, который можно динамически обновлять во время выполнения (у меня есть база данных на бэкэнд). Для всех случаев в моем приложении мне нужно выбрать только один элемент в раскрывающемся меню. Пользователь также не должен иметь возможность добавить параметр в раскрывающееся меню с экранов, на которых они видны.
Я понимаю, что ComboBox позволяет пользователю добавлять элементы в раскрывающийся список и позволяет выбирать несколько элементов, но из Javadoc кажется, что можно настроить ComboBox таким образом, который соответствует моим потребностям, поэтому кажется, что они в некоторой степени взаимозаменяемы. Я предполагаю, что ComboBox имеет немного больше накладных расходов, чем мне действительно нужно в этом случае, но есть ли что-нибудь еще, что только ComboBox мог бы сделать, что повлияло бы на это решение?
Edit
Наверное, я как-то ответил на свой вопрос о ключевых различиях, так что есть еще что-то, о чем я не упоминал, что отличает 2?
Ответы
Ответ 1
ComboBox
поддерживает cellFactory
, который позволяет по существу произвольный пользовательский интерфейс для отображения элемента в каждой ячейке. ChoiceBox
не имеет этой функции и будет отображать только текст в каждой ячейке (которую вы можете настроить с помощью converter
).
См. http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/combo-box.htm#BABJCCIB, перечисляющий 16.5 для примера пользовательской ячейки factory в поле со списком.
Ответ 2
Ну, ChoiceBox
- идея, показывающая вам необязательные варианты, а ComboBox
показывает вам список элементов, ChoiceBox
похожа на ComboBox
, но ComboBox
- для очень длинного списка, как вы можете указать количество элементов, отображаемых как 10 или более или менее, но ChoiceBox
не имеет опции, он перечисляет все параметры, и если он очень длинный, вам не понравится внешний вид.
Короче ChoiceBox, для небольшого набора списка менее 10 для более ComboBox
Это с моей точки зрения разница, так как для стилизации вы можете стилизовать все.
Ответ 3
Комбинированный ящик
Комбинированный ящик является типичным элементом пользовательского интерфейса, который позволяет пользователям выбирать один из нескольких вариантов. Компоновка полезна, когда количество отображаемых элементов превышает некоторый предел, поскольку в отличие от поля выбора можно добавить прокрутку в раскрывающийся список. Если количество элементов не превышает определенного предела, разработчики могут решить, подходит ли поле со списком или поле выбора.
Блок выбора
В этой главе описаны блоки выбора, элементы управления пользовательским интерфейсом, которые обеспечивают поддержку быстрого выбора между несколькими параметрами.
http://docs.oracle.com/javafx/2/ui_controls/jfxpub-ui_controls.htm