我有一个JComboBox
,我希望在更改SouthPanel
时更新selectedItem
。这样可以正常工作,但如果我更新了面板JComboBox
,则必须removeAllItems()
并添加项目,因为项目可能已更改导致面板更新。我有一个变量存储组合框的索引,因此它可以在更新后设置相同的索引。
问题是,当removeAllItems()
运行时,它会触发ActionListener
,并将selectedIndex
设置为1.我该如何解决这个问题?
@Override
public void actionPerformed(ActionEvent arg0) {
if(sequenceComboBox.getSelectedIndex() > -1){
selectedIndex = sequenceComboBox.getSelectedIndex();
selected = medb.getContentManager().getSequences().get(sequenceComboBox.getSelectedIndex());
updateSouth();
System.out.println("sequence updated to " + selectedIndex);
}
}