CODEDRAGON ㆍDevelopment/Java
이벤트 어댑터 클래스(Adapter Class)
· 이벤트를 처리하기 위하여 이벤트 리스너를 등록하여 처리를 해주어야 합니다.
· 리스너가 인터페이스로 되어 있어 리스너에 선언되어 있는 추상메서드를 모두 오버라이드해야 사용이 가능합니다. 즉, 사용하지 않는 메서드까지도 모두 오버라이드하여 완성을 시켜야 사용 할 수 있습니다.(번거롭고 불편한 작업)
· 그래서 자바 API에는 이러한 작업을 좀 더 쉽게 처리할 수 있도록 Adapter라는 클래스를 제공합니다.
· Adapter 클래스는 이벤트 리스너 인터페이스들 중에서 추상메서드가 2개 이상 존재하는 인터페이스를 구현한 추상 클래스입니다.
· 인터페이스에 있는 모든 메서드를 빈(Empty) 메서드로 재정의 하였기 때문에 인터페이스를 구현하여 불필요한 메서드를 재정의하는 작업을 하지 않아도 됩니다.
· Adapter 클래스를 상속받은 클래스에서는 자신이 필요로하는 메서드만 재정의해서 사용하면 됩니다.
Adapter 클래스 종류
이벤트 |
이벤트 리스너 |
이벤트 어댑터 |
ComponentEvent |
ComponentListener |
ComponentAdapter |
ContainerEvent |
ContainerListener |
ContainerAdapter |
FocusEvent |
FocusListener |
FocusAdapter |
KeyEvent |
KeyListener |
KeyAdapter |
MouseEvent |
MouseListener |
MouseAdapter |
MouseMotionEvent |
MouseMotionListener |
MouseMotionAdapter |
WindowEvent |
WindowListener |
WindowAdapter |
Adapter 클래스 활용 방법
방법 |
설명 |
1 |
· Adapter클래스로부터 상속받는 클래스를 생성하여 처리하는 방법 |
2 |
· 1번 방법보다 좀 더 효율적으로 처리할 수 있도록 Inner 클래스를 이용하는 방법 |
3 |
· Anonymous 클래스를 이용하는 방법 |
Listener vs Adapter
http://codedragon.tistory.com/8219
'Development > Java' 카테고리의 다른 글
Critical Section(임계영역; 임계구역) (0) | 2017.05.31 |
---|---|
스레드 스케줄링(Thread Scheduling), 스레드 스케줄링 방식, 스레드 스케줄러, 스레드 우선순위, , Thread 클래스의 우선순위를 정하는 멤버변수, 선점형 스레드 스케줄링 방식, 순환할당(Round-Robin)방.. (0) | 2017.05.30 |
AWT(Abstract Window Toolkit) - GUI 프로그래밍(Graphic User Interface), java.awt 패키지 구조도(상속계층도) (0) | 2017.05.24 |
바이트 출력 스트림의 구조도, 바이트 출력 스트림(OutputStream) (0) | 2017.05.11 |
is a 관계 (0) | 2017.05.10 |