2009-06-18 2 views
1

Я привязываю JComboBox к наблюдаемому List. Я очищаю и добавляю Objects из наблюдаемого списка. Это отлично работает и правильно отражает изменения в JComboBox.JComboBox getSelectedItem() не меняется

Проблема заключается в том, что я не могу выбрать содержимое списка с помощью мыши, хотя вновь добавленные элементы отображаются правильно в поле со списком при расширении. getSelectedItem() всегда застревает в первом элементе списка.

List<Object> sourceListObserver = 
    ObservableCollections.observableList(new ArrayList<Object>()); 

Связывание осуществляется с использованием графического дизайнера Netbeans.

Я также пробовал использовать DefaultComboBoxModel.

DefaultComboBoxModel model = new DefaultComboBoxModel(); 
wireSourceComboBox.setModel(model); 

Использование wireSourceComboBox.removeAllItems(); и wireSourceComboBox.addItem(qb);

Тем не менее такое же поведение после удаления и добавления объектов в ComboBox.

+1

Пожалуйста, вы можете указать, какой способ вы выбираете значение JCB? Как выглядит ваша модель? –

+0

Я отредактировал вопрос, надеюсь, что это ответит на ваш комментарий. – Dupdroid

+0

Я заметил, что выделяю элементы, двигая мышью, а затем нажимаю кнопку «Ввод». Действительно странно. – Dupdroid

ответ

0

без рабочего примера трудно доказать, но вам, вероятно, нужно запустить слушателей событий, чтобы пользовательский интерфейс правильно отслеживал вашу модель.

см AbstractListModel.fireContentsChanged

Смежные вопросы