2 ответов:
Я думаю, что это невозможно, если вы не используете JList, как вы сказали.
The JCOMBOBOX API сообщает:
Пользователь может выбрать значение из выпадающего списка, который появится на странице запросы пользователей.
Списки не очень привлекательны, но они более уместны, чем поля со списком, когда количество элементов велико (скажем, более 20) или когда выбор нескольких элементов может быть действительный.
Обновление:
Я рассмотрел этот ответ, потому что на самом деле это "возможно" сделать с помощью ListCellRenderer, добавив флажок к каждому элементу. Пожалуйста, рассмотрите этот ответ , чтобы реализовать это "решение".
Однако я не думаю, что это хорошая идея по следующим причинам:
- есть элемент управления, подобный JList, который допускает множественный выбор;
- элемент управления JComboBox предназначен только для одного элемента выбор;
- для меня нет смысла по-прежнему использовать элемент управления JComboBox и разрешать множественный выбор.
Это не совсем невозможно, но есть много работы, чтобы сделать эту работу. Вам нужно будет создать свои собственные классы, чтобы расширить / реализовать все это:
И вам нужно будет разработать свой собственный класс, который реализует ItemListener, MouseListener, PopupMenuListener, MouseMotionListener, PropertyChangeListener, KeyListener, ListSelectionListener.
- ListCellRenderer (так что вы можете отметить выбранные элементы, когда всплывающее окно показывает и указать (по крайней мере), что есть несколько вариантов выбора, когда это не так).
- JComboBox (очевидно)
- BasicComboBoxUI (именно здесь находится большая часть работы)
- BasicListUI (по крайней мере, у меня был to)
- ComboBoxModel
Подсказка: вам нужно будет переопределить множество методов createXXXListener () в классах пользовательского интерфейса, чтобы обойти множество мест, где отбрасываются множественные выборки.
[И он по-прежнему не позволяет использовать редактируемую комбинацию множественного выбора.]
Comments