Я подозреваю, что ваш setSelectedItem()
метод сравнивает объекты, используя ==
, а не .equals()
Рассмотрите возможность использования DefaultComboBoxModel , которая уже реализует полезные методы.
Редактировать : Также в соответствии с Документами вы должны вызывать все зарегистрированные ListDataListener
объекты при вызове setSelected.
Использование DefaultComboBoxModel
довольно просто.Вы создаете новый DefaultComboBoxModel
, добавляете элементы, которые хотите, чтобы он содержал, затем вызываете getSelectedItem()
, чтобы получить элемент, который выбран в данный момент.