WindowListener 인터페이스

WindowListener 인터페이스

윈도우 이벤트를 받기 위한 리스너 인터페이스예요. 윈도우 이벤트를 처리하고 싶은 클래스는 이 인터페이스를 구현하거나(그리고 그 안의 모든 메서드를 정의하거나), 추상 클래스 WindowAdapter를 확장해서 관심 있는 메서드만 오버라이드하면 돼요.

출처: Java API Reference

본문

그 클래스로 만든 리스너 객체는 창의 addWindowListener 메서드로 Window에 등록해요. 창의 상태가 열리거나 닫히고, 활성화·비활성화되고, 아이콘화되거나 해제되면 해당 메서드가 호출되고 WindowEvent가 전달돼요.

public interface WindowListener
extends EventListener

주요 메서드

  • windowOpened(WindowEvent e) — 창이 최초로 보이게 될 때 호출돼요.
  • windowClosing(WindowEvent e) — 사용자가 창의 시스템 메뉴로 닫기를 요청했을 때 호출돼요.
  • windowClosed(WindowEvent e) — 창이 닫힌 뒤 호출돼요.
  • windowIconified(WindowEvent e) — 창이 아이콘화됐을 때 호출돼요.
  • windowDeiconified(WindowEvent e) — 창이 아이콘화 상태에서 해제됐을 때 호출돼요.
  • windowActivated(WindowEvent e) — 창이 활성화됐을 때 호출돼요.
  • windowDeactivated(WindowEvent e) — 창이 비활성화됐을 때 호출돼요.

일곱 개의 메서드를 전부 정의해야 하기 때문에, 간단한 처리가 목적이라면 WindowAdapter를 확장하는 편이 편해요. windowClosing은 창 닫기 버튼을 눌렀을 때 자원을 정리하거나 프로그램을 종료하는 용도로 자주 쓰여요.

등록 방법

WindowaddWindowListener(WindowListener)로 등록하고, removeWindowListener(WindowListener)로 해제해요.

더 알아보기