WindowStateListener 인터페이스

WindowStateListener 인터페이스

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

출처: Java API Reference

본문

그 클래스로 만든 리스너 객체는 WindowaddWindowStateListener 메서드로 창에 등록해요. 창이 아이콘화되거나 최대화되는 등 상태가 바뀌면, 리스너 객체의 windowStateChanged 메서드가 호출되고 WindowEvent가 전달돼요.

public interface WindowStateListener
extends EventListener

주요 메서드

  • windowStateChanged(WindowEvent e) — 창의 상태가 변경됐을 때 호출돼요.

이 이벤트는 특히 창의 최대화·최소화 같은 상태 변화를 감지할 때 유용해요. WindowEvent에서 getNewState()getOldState()로 변경 전후의 상태를 확인할 수 있어요. 상태 값은 Frame에 정의된 상수(예: NORMAL, ICONIFIED, MAXIMIZED_BOTH)와 비교해서 판단해요.

주의할 점

WindowStateListener는 창의 위치·크기 변화가 아니라 "상태(정상/아이콘화/최대화)" 변화만 감지해요. 단순한 이동·리사이즈는 이 리스너에 잡히지 않아요.

더 알아보기