윈도우에서 전달하는 이벤트를 수신하려면 윈도우 인스턴스에 리스너를 등록합니다. 예를 들어 closing 이벤트를 수신하려면 다음과 같이 윈도우에 리스너를 등록합니다.
myWindow.addEventListener(Event.CLOSING, onClosingEvent);
이벤트가 전달되면
target
속성이 이벤트를 보내는 윈도우를 참조합니다.
대부분의 윈도우 이벤트에는 두 가지 관련 메시지가 있습니다. 첫 번째 메시지는 윈도우 변경이 발생하려고 하고 취소할 수 있음을 알리고, 두 번째 메시지는 변경이 발생했음을 알립니다. 예를 들어 윈도우의 닫기 버튼을 클릭하면 closing 이벤트 메시지가 전달됩니다. 리스너가 이 이벤트를 취소하지 않으면 윈도우가 닫히고 close 이벤트가 모든 리스너에 전달됩니다.
일반적으로
closing
과 같은 경고 이벤트는 시스템 크롬이 이벤트를 트리거하는 데 사용된 경우에만 전달됩니다. 예를 들어 윈도우
close()
메서드를 호출하면
closing
이벤트가 자동으로 전달되지 않고
close
이벤트만 전달됩니다. 그러나 closing 이벤트 객체를 생성하고 윈도우
dispatchEvent()
메서드를 사용하여 전달할 수 있습니다.
Event 객체를 전달하는 윈도우 이벤트는 다음과 같습니다.
이벤트
|
설명
|
activate
|
윈도우가 포커스를 받으면 전달됩니다.
|
deactivate
|
윈도우가 포커스를 잃으면 전달됩니다.
|
closing
|
윈도우가 닫히려고 하면 전달됩니다. 이 이벤트는 시스템 크롬 닫기 버튼을 누르거나 Mac OS X에서 종료 명령을 호출하는 경우에만 자동으로 전달됩니다.
|
close
|
윈도우가 닫히면 전달됩니다.
|
NativeWindowBoundsEvent 객체를 전달하는 윈도우 이벤트는 다음과 같습니다.
이벤트
|
설명
|
moving
|
윈도우 이동, 크기 조절 또는 표시 상태 변경의 결과로 윈도우의 왼쪽 위 모서리 위치가 변경되기 직전에 전달됩니다.
|
move
|
왼쪽 위 모서리 위치가 변경되면 전달됩니다.
|
resizing
|
크기 조절 또는 표시 상태 변경의 결과로 윈도우 폭이나 높이가 변경되기 직전에 전달됩니다.
|
resize
|
윈도우 크기가 변경된 후 전달됩니다.
|
NativeWindowBoundsEvent 이벤트의 경우
beforeBounds
및
afterBounds
속성을 사용하여 임박한 변경이나 완료된 변경 전과 후의 윈도우 경계를 확인할 수 있습니다.
NativeWindowDisplayStateEvent 객체를 전달하는 윈도우 이벤트는 다음과 같습니다.
이벤트
|
설명
|
displayStateChanging
|
윈도우 표시 상태가 변경되기 직전에 전달됩니다.
|
displayStateChange
|
윈도우 표시 상태가 변경된 후 전달됩니다.
|
NativeWindowDisplayStateEvent 이벤트의 경우
beforeDisplayState
및
afterDisplayState
속성을 사용하여 임박한 변경이나 완료된 변경 전과 후의 윈도우 표시 상태를 확인할 수 있습니다.
일부 Linux 윈도우 관리자에서는 최대 크기 설정이 지정된 윈도우가 최대화되면 표시 상태 변경 이벤트가 전달되지 않습니다. 이때 윈도우가 최대화된 표시 상태로 설정되지만 크기는 조절되지 않습니다.