我将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

10-02 10:23