WindowFocusListener 인터페이스
WindowFocusListener 인터페이스
WINDOW_GAINED_FOCUS와 WINDOW_LOST_FOCUS 이벤트를 포함한 WindowEvent를 받기 위한 리스너 인터페이스예요. WindowEvent를 처리하고 싶은 클래스는 이 인터페이스를 구현하거나(그리고 그 안의 모든 메서드를 정의하거나), 추상 클래스 WindowAdapter를 확장해서 관심 있는 메서드만 오버라이드하면 돼요.
본문
그 클래스로 만든 리스너 객체는 Window의 addWindowFocusListener 메서드로 창에 등록해요. 창의 상태가 열림·닫힘·활성화·비활성화·아이콘화·해제 등으로 바뀌거나 포커스가 창 안으로 들어오고 나가면, 리스너 객체의 해당 메서드가 호출되고 WindowEvent가 전달돼요.
public interface WindowFocusListener
extends EventListener
주요 메서드
windowGainedFocus(WindowEvent e)—Window가 포커스를 얻었을 때 호출돼요.windowLostFocus(WindowEvent e)—Window가 포커스를 잃었을 때 호출돼요.
포커스 이벤트는 창이 사용자 입력을 받을 준비가 됐는지를 나타내는 중요한 신호예요. 예를 들어 여러 창을 오가며 키 입력을 처리하는 프로그램에서 어느 창이 활성 입력 대상인지 판단할 때 유용해요.
사용하기
WindowListener와는 다르게 포커스 이벤트 전용으로 분리된 인터페이스라, 포커스 변경만 감지하고 싶다면 이 인터페이스만 구현하면 돼요. 등록은 addWindowFocusListener, 해제는 removeWindowFocusListener를 사용해요.