Java 78(이벤트 처리 프로그램[익명 클래스, 람다 표현식])

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

Java

목록 보기
80/108

익명의 내부클래스를 사용해 이벤트 처리 객체를 생성해 이벤트 처리 명령이 실행되도록 등록 처리

익명 클래스를 이용한 이벤트 처리

  • 익명 클래스는 이름이 없는 클래스로, 단 한 번만 사용되는 일회성 객체를 생성할 때 유용합니다.
    익명 클래스 내부에서 actionPerformed() 메서드를 오버라이딩하여 이벤트 처리 로직을 구현할 수 있습니다.

람다 표현식을 이용한 이벤트 처리

  • 람다 표현식은 인터페이스의 추상 메서드를 간단하게 구현할 수 있는 방법 입니다.
  • 이 경우 ActionListener 인터페이스의 actionPerformed() 메서드를 람다 표현식으로 구현하고 있습니다.

EventAnonymousHandleApp

public class EventAnonymousHandleApp extends Frame {
    private static final long serialVersionUID = 1L;

    public EventAnonymousHandleApp(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 ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		*/

        //Listener 인터페이스에 추상메소드가 하나만 작성된 경우 람다표현식을 사용하여 객체를
        //생성해 메소드의 매개변수에 전달하여 이벤트 처리 객체 등록
        exit.addActionListener(e -> System.exit(0));

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

    public static void main(String[] args) {
        new EventAnonymousHandleApp("이벤트 처리");
    }
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글