我正在练习一本Java书籍,并且遇到了如下的事件处理代码。我的问题是,当从JComboBox中选择一个项目时是否调用itemStateChanged方法,那么为什么我们要确保选择一个项目呢?
@Override
public void itemStateChanged(ItemEvent event)
{
if(event.getStateChange()
== ItemEvent.SELECTED)
label.setIcon(icons[
imagesJComboBox.getSelectedIndex()]);
}
最佳答案
最好检查应该在特定事件上调用的方法是否确实与正确的事件匹配。
由于该方法是public
,因此可以在任何其他情况或事件中使用。方法本身的调用不能保护事件机器ItemEvent.SELECTED
本身。