首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCheckbox - ActionListener和ItemListener?

JCheckbox - ActionListener和ItemListener?
EN

Stack Overflow用户
提问于 2012-03-27 11:06:40
回答 4查看 121.7K关注 0票数 62

ActionListener和ItemListener都用于在JCheckBox中触发事件?

那么,它们之间的区别是什么,在哪种情况下,它们中的一个比另一个更受欢迎?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-27 11:56:05

JCheckBox的情况下,ItemListenerActionListener都有相同的行为。但是,主要区别在于可以通过调用复选框上的setSelected(true)来触发ItemListener。作为编码实践,不要将ItemListenerActionListener都注册到JCheckBox,以避免不一致。

票数 65
EN

Stack Overflow用户

发布于 2013-07-11 00:42:29

不同之处在于,当在JCheckBox上执行操作时,将触发ActionEvent,即通过鼠标单击、使用空格键或助记符更改其状态。无论JCheckBox是选中还是取消选中,它都不会真正侦听更改事件。

例如,如果将JCheckBox c1 (比如说)添加到ButtonGroup中。在ButtonGroup中更改其他JCheckBoxes的状态不会在其他JCheckBox上触发ActionEvent,而是会触发ItemEvent

最后一句话:即使用户通过选择另一个ItemEvent来取消选中一个复选框,也会触发JCheckBox (当在ButtonGroup中时),但是ActionEvent不会像这样生成,相反,ActionEvent只侦听是否在JCheckBox ( ActionListener只注册到该only)上执行操作。它不知道ButtonGroup和所有其他选择/取消选择的内容。

票数 27
EN

Stack Overflow用户

发布于 2013-10-23 04:19:19

我在JButtons上使用addActionListener,而在JToggleButton上使用addItemListener更方便。与if(event.getStateChange()==ItemEvent.SELECTED)一起,在后一种情况下,每当选中/取消选中JToggleButton时,我都会添加事件。

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

https://stackoverflow.com/questions/9882845

复制
相关文章

相似问题

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