天天看点

Swing 中 给JComboBox添加点击事件,一次点击结果出现两次

以下两种都不会出现 一次点击,二次结果输出的情况。>>>>>(学习总结)

//第一种:使用 addItemListener

...JComboBox<Object> objectJComboBox = new JComboBox<>();
    p.add(objectJComboBox);
    objectJComboBox.addItem("1");
    objectJComboBox.addItem("2");
    
    objectJComboBox.addItemListener(e -> {
        if(e.getStateChange() == ItemEvent.SELECTED
        && objectJComboBox.getSelectedItem() == "2"){
        System.out.println("ok");
        }
    });
           

//第二种:使用 addActionListener

objectJComboBox.addActionListener(e ->  {
      if(objectJComboBox.getSelectedItem() == "2"){
            System.out.println("ok");             
             }      
           });
           

二者的区别在于:第二种当你总是点击选择 Item(“2”)时,总是会有输出。

继续阅读