WindowStateListener 인터페이스
WindowStateListener 인터페이스
윈도우 상태 이벤트를 받기 위한 리스너 인터페이스예요. 윈도우 상태 이벤트를 처리하고 싶은 클래스는 이 인터페이스를 구현하거나(그리고 그 안의 모든 메서드를 정의하거나), 추상 클래스 WindowAdapter를 확장해서 관심 있는 메서드만 오버라이드하면 돼요.
본문
그 클래스로 만든 리스너 객체는 Window의 addWindowStateListener 메서드로 창에 등록해요. 창이 아이콘화되거나 최대화되는 등 상태가 바뀌면, 리스너 객체의 windowStateChanged 메서드가 호출되고 WindowEvent가 전달돼요.
public interface WindowStateListener
extends EventListener
주요 메서드
windowStateChanged(WindowEvent e)— 창의 상태가 변경됐을 때 호출돼요.
이 이벤트는 특히 창의 최대화·최소화 같은 상태 변화를 감지할 때 유용해요. WindowEvent에서 getNewState()와 getOldState()로 변경 전후의 상태를 확인할 수 있어요. 상태 값은 Frame에 정의된 상수(예: NORMAL, ICONIFIED, MAXIMIZED_BOTH)와 비교해서 판단해요.
주의할 점
WindowStateListener는 창의 위치·크기 변화가 아니라 "상태(정상/아이콘화/최대화)" 변화만 감지해요. 단순한 이동·리사이즈는 이 리스너에 잡히지 않아요.