Java 77(이벤트 처리 프로그램[이벤트 직접 처리])

Kang.__.Mingu·2024년 5월 18일
0

Java

목록 보기
79/108

이벤트 소스 클래스에서 직접 이벤트 처리

EventUIHandleApp

public class EventUIHandleApp extends Frame implements ActionListener {
    private static final long serialVersionUID = 1L;

    public EventUIHandleApp(String title) {
        super(title);

        setLayout(new FlowLayout());
        Button exit=new Button("EXIT");
        exit.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 30));
        add(exit);

        //이벤트 소스가 작성된 UI 클래스가 이벤트 처리 클래스이므로 this 키워드를 사용해
        //현재 클래스의 객체를 제공받아 이벤트 처리
        exit.addActionListener(this);

        setBounds(800, 200, 300, 300);
        setVisible(true);
    }

    public static void main(String[] args) {
        new EventUIHandleApp("이벤트 처리");
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        System.exit(0);
    }
}

코드 해설

  • 이벤트 처리 클래스 EventUIHandleApp이 ActionListener 인터페이스를 직접 구현합니다.

  • exit.addActionListener(this);에서 EventUIHandleApp 클래스의 객체 자신을 이벤트 리스너로 등록합니다.

  • EventUIHandleApp 클래스의 actionPerformed() 메서드를 오버라이드하여 이벤트 처리 로직을 구현합니다.

  • 이벤트 소스와 이벤트 처리 클래스가 동일한 클래스 내에 존재합니다.

profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글