首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChangeListener与ItemListener的区别

ChangeListener与ItemListener的区别
EN

Stack Overflow用户
提问于 2013-07-01 19:15:14
回答 2查看 3.5K关注 0票数 9

对于JCheckBoxJRadioButtonChangeListenerItemListener有什么不同?当它们被选中/取消选中时,它们都工作得很好。

我知道有些组件不支持ChangeListener,比如JComboBox。而不是因为ChangeListenerItemListener只对某些组件起作用。它们之间有什么区别吗,比如它们是什么时候生成的?

任何答案都是值得感谢的。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-01 19:20:39

JCheckBox的两个侦听器的工作方式相似,因为它们都会在状态发生变化时触发事件,无论是通过单击还是通过空格键切换,还是通过doClick()方法(类似于鼠标单击)。然而,一个主要的区别是JCheckBox的itemListener可以通过setSelected(boolean方法触发,该方法允许一个人基于所需的状态触发事件,而其他人只有在状态改变后才会采取行动。那么为什么它很重要呢?考虑到当应用程序启动时,需要为定义状态配置图形用户界面,并且使用setSelected将触发ItemListener。请注意,setSelected是ItemListener独占的,对ActionListener没有影响。不要同时注册ActionListener和ItemListener,因为两者都将被触发,从而使组件处于随机状态

票数 5
EN

Stack Overflow用户

发布于 2013-07-01 19:55:08

当按钮状态有任何变化时,ChangeListener不会被标记。ChangeListener不会被告知发生了什么变化,只会被告知对象发生了变化。仅当选择项时才不标记项侦听器;通过user或setSelected方法。当setSelected方法被调用时,ChangeListener没有被赋值也是不正确的。它是对象状态的变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17403163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档