ChangeListenerItemListenerJCheckBoxJRadioButton有什么区别?当它们被选中/取消选择时,它们都可以正常工作。

我知道某些组件不支持ChangeListener,例如JComboBox。除了ChangeListenerItemListener仅对某些组件起作用的原因之外。它们之间有什么区别,例如它们何时生成?

任何答案表示赞赏。提前致谢。

最佳答案

JCheckBox的两个监听器的工作方式相似,两者都将在状态更改时触发事件,无论是通过单击还是通过空格键切换,还是通过doClick()方法以编程方式(类似于鼠标单击)。不过,主要区别在于,可以通过setSelected(boolean)方法触发JCheckBox的itemListener,该方法允许一个根据所需的状态触发事件,而其他方法仅在状态更改后才起作用。那么为什么重要呢?考虑在应用程序启动时,需要配置GUI来定义定义的状态,并且使用setSelected将触发ItemListener。请注意,setSelected是ItemListener专有的,对ActionListener无效。不要同时注册ActionListener和ItemListener,因为两者都会被触发,从而使组件处于随机状态

10-01 22:22