WindowFocusListener 인터페이스

WindowFocusListener 인터페이스

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

출처: Java API Reference

본문

그 클래스로 만든 리스너 객체는 WindowaddWindowFocusListener 메서드로 창에 등록해요. 창의 상태가 열림·닫힘·활성화·비활성화·아이콘화·해제 등으로 바뀌거나 포커스가 창 안으로 들어오고 나가면, 리스너 객체의 해당 메서드가 호출되고 WindowEvent가 전달돼요.

public interface WindowFocusListener
extends EventListener

주요 메서드

  • windowGainedFocus(WindowEvent e)Window가 포커스를 얻었을 때 호출돼요.
  • windowLostFocus(WindowEvent e)Window가 포커스를 잃었을 때 호출돼요.

포커스 이벤트는 창이 사용자 입력을 받을 준비가 됐는지를 나타내는 중요한 신호예요. 예를 들어 여러 창을 오가며 키 입력을 처리하는 프로그램에서 어느 창이 활성 입력 대상인지 판단할 때 유용해요.

사용하기

WindowListener와는 다르게 포커스 이벤트 전용으로 분리된 인터페이스라, 포커스 변경만 감지하고 싶다면 이 인터페이스만 구현하면 돼요. 등록은 addWindowFocusListener, 해제는 removeWindowFocusListener를 사용해요.

더 알아보기