ItemStateChanged在JComboBox中调用了两次

Kri*_*hna 1 java swing jframe jcombobox

您好,我正在使用一个Combobox,当我触发IteamStateChage事件时,该操作调用了两次.但如果我打了两次电话,我就无法让我想做的事情成为可能.

那么有没有办法只调用一次IteamStatechange evet.当我将iteam改为Jcombobox时.我只需要一次itemStatechange的动作.并且仅使用项目状态更改.![此处屏幕截图相同.] [1]

请帮帮我.并提前感谢你.

Mad*_*mer 7

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

在该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;
    }
}
Run Code Online (Sandbox Code Playgroud)