Я просмотрел документацию, но не смог найти ответ на этот вопрос ... Очевидно, что использование JComboBox нецелесообразно, если количество полей становится слишком высоким, но, тем не менее, теоретически, JComboBoxes имеет максимальное количество полей?У JComboBoxes есть максимальное количество полей?
ответ
Методы, подобные setSelectedIndex(...)
и getItemAt(...)
, принимают в качестве параметра переменную int
. Это указывает на то, что ComboBoxModel
может поддерживать «теоретический» максимум элементов INTEGER.MAX_VALUE.
Однако элементы также должны быть визуализированы и в конечном итоге отображаться в JScrollPane. Панель прокрутки и вертикальная JScrollBar также используют переменную int
, чтобы указать местоположение пикселя полосы прокрутки.
Таким образом, вы также должны учитывать высоту каждого отображаемого элемента в панели прокрутки.
Поэтому более разумным «теоретическим» максимумом с использованием стандартных компонентов Swing будет INTEGER.MAX_VALUE/rendered-row-height.
Однако, предположим, вы можете создать пользовательскую панель прокрутки, которая отображает только элементы в блоках. Таким образом, когда вы прокрутите страницу до конца одного блока, вы предварительно загрузите следующий блок. Теоретически это позволит вам отображать все элементы INTEGER.MAX_VALUE в поле со списком.
Я не знаю, будут ли какие-либо другие ограничения для «теоретического» максимального количества предметов.
В любом случае я уверен, что все мы согласны, что поле со списком станет непригодным для использования до достижения «теоретического» максимума.
Насколько я знаю, как вы сказали, может оказаться полезным использовать другой инструмент интерфейса, если вам придется прокручивать слишком много. Мое рассуждение связано с тем, что вы можете динамически заполнять его, что должно быть настолько гибким, как ваши данные.
Да, есть предел, см. Мой комментарий. Компоновка нецелесообразно использовать до достижения этого предела. – camickr
Я не согласен, метод, на который вы ссылаетесь, устанавливается в индексе (n). Это означает, что количество индексов равно столько, сколько у вас есть в combobox. Если я не пойму вопрос о том, есть ли у каждого индекса предел. –
Вопрос: «сколько элементов вы можете добавить в поле со списком»? Если вам не нравится мой первый пример, то как насчет метода getItemAt (...)? Таким образом, «теоретический» предел контролируется самым большим индексом, который вы можете использовать для прямого доступа к элементу. – camickr
- 1. Максимальное количество полей для C++ объект
- 2. Имеет ли у android максимальное количество обработчиков?
- 3. Максимальное количество полей для Python .format
- 4. У SSRS есть ограничение на количество полей в наборе данных?
- 5. Активная папка Максимальное количество полей для полей примечаний
- 6. Есть ли максимальное количество git stashes?
- 7. есть ли максимальное количество записей для MongoDB?
- 8. Prestashop, Есть 1 ошибка. У вас уже есть максимальное количество доступно этому продукту.
- 9. Максимальное число полей в Access
- 10. У меня есть несколько текстовых полей «количество», как отправить значения всех текстовых полей
- 11. Максимальное количество полей формул, разрешенных в Excel (2010)
- 12. Symfony Максимальное количество маршрутов
- 13. GLSL максимальное количество инструкций
- 14. CakePHP: Максимальное количество ассоциаций?
- 15. Xgboost, максимальное количество ядер
- 16. Какое максимальное количество пользовательских полей разрешено в SugarCRM
- 17. MySQL, как найти максимальное количество конкатенированных полей таблицы?
- 18. Каково максимальное количество полей (столбцов), поддерживаемых в улье?
- 19. Максимальное количество RTCPeerConnection
- 20. cfindex, сколько пользовательских полей у нас есть
- 21. У скрытых полей ввода HTML есть местоположение?
- 22. У полей формы есть пробел в них
- 23. Максимальное количество потоков
- 24. Максимальное количество «команд»
- 25. Максимальное количество очередей JMS
- 26. Найти максимальное количество дат
- 27. Максимальное количество записей
- 28. Подсчитайте максимальное количество значений
- 29. PHP максимальное количество репозиториев
- 30. C# Максимальное количество потоков
Почему бы вам не попробовать? Создайте цикл и продолжайте добавлять параметры –
Что делают методы, подобные 'setSelectedIndex (...)' взять в качестве параметра? – camickr
@camickr Хорошая точка, тогда можно было предположить, что предел будет INTEGER.MAX_VALUE ... – tmnol