2

我将 a 绑定JComboBox到一个 observable List。我清除并添加Objects了可观察列表。这工作正常并正确反映了变化JComboBox

问题是我无法使用鼠标选择列表的内容,尽管新添加的项目在展开时正确显示在组合框中。getSelectedItem()总是停留在列表中的第一个项目上。

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

绑定是使用 Netbeans GUI 设计器完成的。

我现在也尝试过使用DefaultComboBoxModel.

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

使用wireSourceComboBox.removeAllItems();wireSourceComboBox.addItem(qb);

将对象删除并添加到组合框后仍然是相同的行为。

4

1 回答 1

0

without a working example it's hard to prove, but you probably need to fire the event listeners to have the UI track your model correctly.

see AbstractListModel.fireContentsChanged

于 2009-09-21T23:49:38.403 回答