我今天学习了ComboBox主题,但我在代码中没有理解这个if语句。这个if语句是如何工作的。请解释一下。
class ItemChangeListener implements ItemListener{
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
Object item = event.getItem();
// do something with object
}
}
}
答案 0 :(得分:2)
当您更改ComboBox
中的选择时,itemStateChanged
会被触发两次:第一次取消取消选择的项目(event.getStateChange() == ItemEvent.DESELECTED
),第二次取消选中的项目( event.getStateChange() == ItemEvent.SELECTED
)。
换句话说,if
需要检查item
是当前选择还是旧选择。
答案 1 :(得分:0)
只要组合框中项目的状态发生变化,就会调用itemStateChanged
方法。
if语句if (event.getStateChange() == ItemEvent.SELECTED) {
正在检查究竟发生了什么变化。它正在检查更改是否已选择项目。
然后,在if语句块中,一旦代码确定某个项目确实被选中,代码就会继续确定实际选择了哪个项目。
此代码演示了代码如何处理组合框内的选择更改,并且在选择项目时,您的自定义代码可能会与您的应用程序更相关。
答案 2 :(得分:0)
如果ItemEvent
“更改事件状态”等于(==
)ItemEvent.SELECTED
,则(仅)对项目执行某些操作。
所以人性化和倒置:它对所有其他事件状态(而不是SELECTED)没有任何作用。
希望这有帮助,干杯,