자바 외부클래스/ 내부클래스/ 이벤트처리

자바 외부클래스/ 내부클래스/ 이벤트처리

이벤트는 내부 무명클래스 문법으로 처리된다.

외부클래스명$번호.class파일로 컴파일 되면서 프레임 닫기 이벤트를 처리한다.

ex) FrameEvent07$1.class파일로 컴파일

프레임 창 이벤트를 처리하는 리스너 인터페이스 이름은 WindowListener이다.

이 인터페이스를 상속받아서 미리 추상메서드를 구현 해 놓은 어댑터 추상클래스가 바로 WindowAdapter클래스 이다.

버튼 클릭을 처리하는 ActionListener 리스너 인터페이스는

추상메서드가 하나 뿐이기 때문에 미리 구현해 놓은어댑터 추상클래스가 없다.

하지만 WindowListener는 추상메서드가 7개 이다.

현재 프레임 닫기에서는 WindowClosing()메서드만 오버라이딩 해서 사용해야 하기 때문에

불필요한 추상메서드 까지 오버라이딩 할 필요가 없다.

이러한 이유로 리스너 인터페이스가 하나 이상인 경우는 별도의 어댑터 추상클래스가 만들어져 있다.

그리고 이 어댑터 추상클래스를 내부 무명클래스 문법으로 처리해서 이벤트 사건을 처리한다.

<예제>

import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);//프레임창을 닫는다. } });

from http://betterwave.tistory.com/30 by ccl(A) rewrite - 2021-12-12 00:28:06