ItemListener
с уведомляются при каждом изменении состояния кнопки, будь то пользователь, взаимодействующий с кнопкой, или программно (с помощью метода setSelected
),ActionListener
s, с другой стороны, будут вызываться, когда пользователь взаимодействует с кнопкой (но может программно моделироваться с помощью метода onClick
).
Обратите внимание, что пользователь, взаимодействующий с кнопкой, такой как нажатие или нажатие клавиши пробела, также изменит состояние кнопки и вызовет событие элемента, а также событие действия.Как правило, вам нужно определить одно или другое, не слушайте как события действия, так и события элемента на кнопке.