我将JComboBox
绑定到可观察的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);
删除并将对象添加到组合框后,仍然是相同的行为。
最佳答案
没有可用的示例,很难证明,但是您可能需要触发事件侦听器,以使UI正确跟踪模型。
见AbstractListModel.fireContentsChanged