윈도우 이벤트 수신

Adobe AIR 1.0 이상

윈도우에서 전달하는 이벤트를 수신하려면 윈도우 인스턴스에 리스너를 등록합니다. 예를 들어 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 윈도우 관리자에서는 최대 크기 설정이 지정된 윈도우가 최대화되면 표시 상태 변경 이벤트가 전달되지 않습니다. 이때 윈도우가 최대화된 표시 상태로 설정되지만 크기는 조절되지 않습니다.