我正在练习一本Java书籍,并且遇到了如下的事件处理代码。我的问题是,当从JComboBox中选择一个项目时是否调用itemStateChanged方法,那么为什么我们要确保选择一个项目呢?

@Override
public void itemStateChanged(ItemEvent event)
{
      if(event.getStateChange()
           == ItemEvent.SELECTED)
           label.setIcon(icons[
           imagesJComboBox.getSelectedIndex()]);
}

最佳答案

最好检查应该在特定事件上调用的方法是否确实与正确的事件匹配。

由于该方法是public,因此可以在任何其他情况或事件中使用。方法本身的调用不能保护事件机器ItemEvent.SELECTED本身。

10-08 11:32