본문 바로가기

자바공부

자바 어댑터 클래스(Adapter), 명품자바프로그래밍10장

728x90
반응형

* 리스너 인터페이스를 상속받아 이벤트 리스너를 구현할 때 리스너 인터페이스의 메소드를 모두 구현하여야 하는 부담이 있다.

이런 부담을 줄이기 위해 자바의 JDK는 이벤트 리스너 인터페이스를 미리 구현해 놓은 어댑터 클래스(Adapter)를 제공한다.

어댑터 클래스는 리스너 인터페이스의 모든 메소드가 단순 리턴되도록 구현되어 있다.

 

어탭터는 java.awt.event와 javax.swing.event 패키지에 구현되어 있다.

class MouseAdapter implements MouseListener, MouseMotionListener, MouseWheelListener{
    public void mousePressed(MouseEvent e) {}
    public void mouseReleased(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseDragged(MouseEvent e) {}
    public void mouseMoved(MouseEvent e) {}
    public void mouseWheelMoved(MouseWheelEvent e) {}
}

 

* 리스너 인터페이스와 대응하는 어댑터 클래스

리스너 인터페이스 대응하는 어댑터 클래스
ActionListener 없음
ItemListener 없음
KeyListener KeyAdapter
MouseListener MouseAdapter
MouseMotionListener MouseMotionAdapter 혹은 MouseAdapter
FocusListener FocusAdapter
TextListener 없음
WindowListener WindowAdapter
AdjustmentListener 없음
ComponentListener ComponentAdapter
ContainerListener ContainerAdapter

* ActionListener와 같이 어댑터가 제공되지 않는 리스너는 인터페이스에 메소드가 하나 뿐인 경우 굳이 어댑터 클래스를 만들 필요가 없기 때문이다.

반응형