WindowEvent 클래스

WindowEvent 클래스

창의 상태가 바뀌었음을 나타내는 저수준 이벤트예요. Window 객체가 열리거나 닫히고, 활성화·비활성화되고, 아이콘화되거나 해제되거나, 포커스가 창 안으로 들어오거나 나갈 때 이 이벤트가 생성됩니다.

출처: Java API Reference

본문

이 이벤트는 창의 addWindowListener 메서드로 등록된 모든 WindowListenerWindowAdapter 객체에 전달돼요. WindowAdapter 객체는 WindowListener 인터페이스를 구현하고 있어요. 이벤트가 발생하면 등록된 리스너 객체마다 이 WindowEvent를 받게 됩니다.

public class WindowEvent
extends ComponentEvent

특정 WindowEvent 인스턴스의 id 파라미터가 WINDOW_FIRST에서 WINDOW_LAST 범위에 없다면 동작이 정의되지 않아요.

주요 이벤트 ID

  • WINDOW_OPENED — 창이 처음 열렸을 때
  • WINDOW_CLOSING — 창을 닫으려 할 때
  • WINDOW_CLOSED — 창이 닫혔을 때
  • WINDOW_ICONIFIED / WINDOW_DEICONIFIED — 아이콘화·해제
  • WINDOW_ACTIVATED / WINDOW_DEACTIVATED — 활성화·비활성화
  • WINDOW_GAINED_FOCUS / WINDOW_LOST_FOCUS — 포커스 획득·상실
  • WINDOW_STATE_CHANGED — 창 상태 변경

주요 메서드

  • getWindow() — 이 이벤트의 원본이 되는 Window를 반환해요.
  • getOppositeWindow() — 포커스·활성화 이벤트에서 반대쪽 창을 반환해요.
  • getNewState() / getOldState() — 상태 변경 전후의 창 프레임 상태를 반환해요.

더 알아보기