WindowAdapter 클래스

WindowAdapter 클래스

윈도우 이벤트를 받기 위한 추상 어댑터 클래스예요. 이 클래스의 메서드들은 전부 빈 구현으로 되어 있어서, 리스너 객체를 만들 때 편의를 제공해요. WindowAdapter를 확장해서 WindowEvent 리스너를 만들고, 관심 있는 이벤트에 해당하는 메서드만 오버라이드하면 됩니다.

출처: Java API Reference

본문

WindowListener 인터페이스를 직접 구현하면 모든 메서드를 정의해야 하지만, 이 추상 클래스는 각 메서드에 null 구현을 제공해요. 그래서 정말 필요한 이벤트의 메서드만 골라서 정의하면 돼요.

public abstract class WindowAdapter
extends Object
implements WindowListener, WindowStateListener, WindowFocusListener

확장한 클래스로 리스너 객체를 만든 다음, WindowaddWindowListener 메서드로 창에 등록해요. 창이 열리거나(windowOpened) 닫히거나(windowClosing, windowClosed), 활성화·비활성화되거나(windowActivated, windowDeactivated), 아이콘화·해제되면(windowIconified, windowDeiconified) 해당 메서드가 호출되고 WindowEvent가 전달돼요.

상속받은 주요 메서드

  • windowOpened(WindowEvent e) — 창이 최초로 보이게 될 때 호출돼요.
  • windowClosing(WindowEvent e) — 사용자가 창을 닫으려 할 때 호출돼요.
  • windowClosed(WindowEvent e) — 창이 닫힌 뒤에 호출돼요.
  • windowIconified / windowDeiconified — 창이 아이콘화되거나 해제될 때 호출돼요.
  • windowGainedFocus / windowLostFocus — 포커스가 창에 들어오거나 떠날 때 호출돼요.
  • windowStateChanged(WindowEvent e) — 창의 상태가 바뀔 때 호출돼요.

리스너는 addWindowListener뿐 아니라 addWindowStateListener, addWindowFocusListener로도 사용할 수 있어요. 어댑터 클래스라서 여러 리스너를 한 번에 구현하고 있어요.

더 알아보기