Множественный выбор JcomboBox
У меня есть jcombobox в моем приложении. и я хочу, чтобы он поддерживал множественный выбор (как это делается в jlist). есть ли пример кода?
2 ответов
Я думаю, что это невозможно, если вы не используете JList, как вы сказали.
на API для jcombobox в отчеты:
пользователь может выбрать значение из выпадающего списка, который появляется в запросы пользователей.
и JComboBox учебник:
списки не очень привлекательны, но они более уместны, чем поля со списком, когда количество элементов велико (скажем, более 20) или когда выбор нескольких элементов может быть допустимым.
обновление:
Я рассмотрел этот ответ, потому что на самом деле это "возможно" сделать с помощью ListCellRenderer, добавив флажок к каждому элементу. Пожалуйста, подумайте ответ реализовать это "решение".
, Я не думаю, что это хорошая идея по следующим причинам:- есть элемент управления, такой как JList, который позволяет несколько выбор;
- управление JComboBox конструировано как раз для одиночного выбора деталя;
- мне не имеет смысла по-прежнему использовать элемент управления JComboBox и разрешить множественный выбор.
Это не совсем невозможно, но есть много работы, чтобы получить работу. Вам нужно будет создать свои собственные классы, чтобы расширить / реализовать все это:
- ListCellRenderer (так что вы можете пометить выбранные элементы, когда всплывающее окно показывает и указать (по крайней мере), что есть несколько вариантов, когда это не так).
- JComboBox (очевидно)
- BasicComboBoxUI (это на самом деле, где большая часть работы)
- BasicListUI (по крайней мере мне пришлось)
- ComboBoxModel
Подсказка: вам нужно будет переопределить много методов createXXXListener () в классах пользовательского интерфейса, чтобы обойти многие места, где отбрасываются несколько выборок.
[И это все еще не позволяет редактировать комбинированный мульти-выбор.]