public class EventHandleApp extends Frame {
private static final long serialVersionUID = 1L;
public EventHandleApp(String title) {
super(title);
setLayout(new FlowLayout());
Button exit=new Button("EXIT");
exit.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 30));
add(exit);
exit.addActionListener(new ButtonEventHandle());
setBounds(800, 200, 300, 300);
setVisible(true);
}
public static void main(String[] args) {
new EventHandleApp("이벤트 처리");
}
}
//이벤트 처리 클래스 - Listener 인터페이스를 상속받아 작성
class ButtonEventHandle implements ActionListener {
//이벤트 처리 메소드 - 이벤트 처리 명령 작성
// => 이벤트가 발생되면 이벤트 처리 클래스의 객체로 자동 호출되는 메소드
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
이벤트 처리 클래스 ButtonEventHandle을 별도의 클래스로 작성하여 사용합니다.
exit.addActionListener(new ButtonEventHandle());에서 ButtonEventHandle 클래스의 객체를 생성하여 이벤트 리스너로 등록합니다.
ButtonEventHandle 클래스는 ActionListener 인터페이스를 구현하여 actionPerformed() 메서드를 오버라이드합니다.