如何防止JComboBox removeAllItems触发动作侦听器

时间:2014-11-11 21:43:15

标签: java swing actionlistener jcombobox

我有一个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);
    }
}

0 个答案:

没有答案