메뉴의 루트로 사용할 NativeMenu 객체를 만들려면 NativeMenu 생성자를 사용합니다.
var root:NativeMenu = new NativeMenu();
응용 프로그램 및 윈도우 메뉴의 경우 루트 메뉴는 메뉴 표시줄을 나타내며 하위 메뉴를 여는 항목만 포함해야 합니다. 컨텍스트 메뉴와 팝업 메뉴에는 메모 표시줄이 없으므로 루트 메뉴에 하위 메뉴뿐 아니라 명령 및 분리 기호 선도 포함될 수 있습니다.
메뉴를 만든 후 메뉴 항목을 추가할 수 있습니다. 메뉴 객체의 addItemAt() 메서드를 사용하여 항목을 특정 인덱스에 추가하는 경우를 제외하고 메뉴의 항목은 추가되는 순서대로 표시됩니다.
다음 단원에 나와 있는 대로 메뉴를 응용 프로그램, 윈도우, 아이콘 또는 컨텍스트 메뉴로 할당하거나 팝업 메뉴로 표시합니다.
응용 프로그램 메뉴 설정 또는 윈도우 메뉴 설정
코드에서 응용 프로그램 메뉴(Mac OS에서 지원됨) 및 윈도우 메뉴(기타 운영 체제에서 지원됨)를 모두 수용할 수 있어야 합니다.
var root:NativeMenu = new NativeMenu();
if (NativeApplication.supportsMenu)
{
NativeApplication.nativeApplication.menu = root;
}
else if (NativeWindow.supportsMenu)
{
nativeWindow.menu = root;
}
참고: Mac OS에서는 모든 응용 프로그램의 표준 항목이 포함된 메뉴를 정의합니다. NativeApplication 객체의 menu 속성에 새 NativeMenu 객체를 할당하면 표준 메뉴가 대체됩니다. 또한 표준 메뉴를 대체하지 않고 사용할 수도 있습니다.
Adobe Flex에서는 여러 플랫폼에서 작동하는 메뉴를 쉽게 만들 수 있도록 FlexNativeMenu 클래스를 제공합니다. Flex 프레임워크를 사용할 경우 NativeMenu 클래스 대신 FlexNativeMenu 클래스를 사용하십시오.
대화형 객체에서 컨텍스트 메뉴 설정
interactiveObject.contextMenu = root;
도크 아이콘 메뉴 설정 또는 시스템 트레이 아이콘 메뉴 설정
코드에서 응용 프로그램 메뉴(Mac OS에서 지원됨) 및 윈도우 메뉴(기타 운영 체제에서 지원됨)를 모두 수용할 수 있어야 합니다.
if (NativeApplication.supportsSystemTrayIcon)
{
SystemTrayIcon(NativeApplication.nativeApplication.icon).menu = root;
}
else if (NativeApplication.supportsDockIcon)
{
DockIcon(NativeApplication.nativeApplication.icon).menu = root;
}
참고: Mac OS X에서는 응용 프로그램 도크 아이콘에 대한 표준 메뉴를 정의합니다. DockIcon 객체의 menu 속성에 새 NativeMenu를 할당하면 해당 메뉴의 항목이 표준 항목 위에 표시됩니다. 그러면 표준 메뉴 항목을 제거, 액세스 또는 수정할 수 없습니다.
메뉴를 팝업으로 표시
root.display(stage, x, y);