Может кто-нибудь объяснить мне, почему этот кусок кода выводится на консоль, когда вы наводите курсор мыши на флажок? Что за событие «изменение» происходит?
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame();
JCheckBox c = new JCheckBox("Print HELLO");
c.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println("HELLO");
}
});
f.getContentPane().add(c);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
ПРИМЕЧАНИЕ: я не использую слушатель действия, потому что в моей программе я хочу иметь возможность:
checkBox.setSelected(boolean)
и уведомить моего слушателя, что нельзя сделать с помощью слушателя действия. Так есть ли способ отключить это «наведение мыши» или каким-либо другим способом, которым я могу реализовать мой слушатель?