Create Menu from Array
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> import mx.controls.Menu; import mx.events.MenuEvent; private var myMenu:Menu; private function createAndShow2():void { myMenu = Menu.createMenu(null, menuData, true); myMenu.addEventListener(MenuEvent.ITEM_CLICK, menuShowInfo2); myMenu.addEventListener(MenuEvent.MENU_SHOW, menuShowInfo2); myMenu.addEventListener(MenuEvent.ITEM_ROLL_OVER,menuShowInfo2); myMenu.addEventListener(MenuEvent.ITEM_ROLL_OUT,menuShowInfo2); myMenu.show(225, 10); } private function menuShowInfo2(event:MenuEvent):void { ta1.text="event.type: " + event.type; ta1.text+="\nevent.label: " + event.label; ta1.text+="\nevent.index: " + event.index; if (event.item) { ta1.text+="\nItem label: " + event.item.label ta1.text+="\nItem selected: " + event.item.toggled; ta1.text+= "\ntype: " + event.item.type; } } [Bindable] public var menuData:Array = [ {label: "MenuItem A", children: [ {label: "SubMenuItem A-1", enabled: false}, {label: "SubMenuItem A-2", type: "normal"}]}, {label: "MenuItem B", type: "check", toggled: true}, {label: "MenuItem C", type: "check", toggled: false}, {type: "separator"}, {label: "MenuItem D", children: [ {label: "SubMenuItem D-1", type: "radio", groupName: "g1"}, {label: "SubMenuItem D-2", type: "radio", groupName: "g1",toggled: true}, {label: "SubMenuItem D-3", type: "radio", groupName: "g1"}]} ]; </mx:Script> <mx:Button x="10" y="35" label="Open Object Popup" click="createAndShow2();" /> <mx:TextArea x="10" y="70" width="200" height="300" id="ta1" /> </mx:Application>