您好,我正在使用一个组合框,当我触发IteamStateChage事件时,该操作被调用了两次。但是,如果我打了两次电话,我将无法实现自己想做的事情。

因此,有什么方法只能将IteamStatechange evet调用一次。当我将iteam更改为Jcombobox时。我只需要一次itemStatechange的操作。并且仅使用项目状态更改。![此处为相同的屏幕截图。] [1]

请同样帮我。
并提前感谢您。

最佳答案

在这种情况下,这是预期的行为。组合框表示当前项目已取消选择,新项目已选择。

itemStateChanged方法中,您需要检查ItemEvent的状态以确定应该做什么。

public void itemStateChanged(ItemEvent evt) {

    switch (evt.getStateChanged()) {
        case ItemEvent.DESELECTED:
            // Do what ever you want when the item is deselected
            break;
        case ItemEvent.SELECTED:
            // Do what ever you want when the item is selected
            break;
    }
}

09-12 13:13