Swing 버튼 용 MouseListeners는 큰 논점이 아닙니다. JToggleButton이 어떻게 롤오버/mouseOver 이벤트를 수신 할 수 있습니까? 아래의 코드는 "롤오버"를 출력하지 않습니다.ChangeListener의 JToggleButton에서 롤오버 수신 대기 중입니까?
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Test {
public static void main(String[] args) {
JPanel panel = new JPanel();
final JToggleButton button = new JToggleButton();
button.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
ButtonModel mod = button.getModel();
if (mod.isRollover()) {
System.out.println("rollover"); //won't work, unless button is of type JButton
}
}
});
JFrame frame = new JFrame();
frame.add(panel);
panel.add(button);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
}
}