Flex 학습 기록 (동적 충전 메뉴)

3032 단어 Flex

<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
creationComplete="initApp(event)">
<mx:MenuBar id="menu" dataProvider="{menu_dp}"/>
<mx:Script>
	<![CDATA[
		import mx.collections.ArrayCollection;
		import mx.events.FlexEvent;
		[Bindable]
		private var menu_dp:ArrayCollection;
		private function initApp(evt:FlexEvent):void {
		var temp:Array = new Array();
		var subNodes:ArrayCollection = new ArrayCollection([
			{label:"New"},
			{label:"Open"},
			{label:"Close",enabled:false}]);
		temp.push({label:"File",children:subNodes});
		temp.push({label:"Edit"});
		temp.push({label:"Source"});

		subNodes = new ArrayCollection( [
			{label:"50%", type:"radio", groupName:"one"},
			{label:"100%", type:"radio", groupName:"one",
			selected:true},
			{label:"150%", type:"radio", groupName:"one"}]);
		temp.push({label:"View",children:subNodes});
		menu_dp = new ArrayCollection(temp);
		/*  Collection   (  ArrayCollection
		  XMLListCollection)           
		             。*/
		}
		private function editMenu():void {
		var itemToEdit:Object;
		try {
			//   MENU    itemToEdit。
			itemToEdit = menu_dp.getItemAt(int(menuIdx.text));
			//   SUBMENU    
			if(subMenuIdx.text) {
				//   MENU      subMenuIdx      itemToEdit。
				itemToEdit = 
				itemToEdit.children.getItemAt(int(subMenuIdx.text));
			}
			itemToEdit.label = label_ti.text;
			/* itemUpdated                  。
			    ,                   。*/
			menu_dp.itemUpdated(itemToEdit);
		}
		catch(ex:Error){
		trace("could not retrieve menu item");
		}
		}
	]]>
</mx:Script>
<!--          ,                  
         。 menuIdx      0    subMenuIdx
            File   。-->
<mx:Form>
	<mx:FormHeading label="Menu Editor"/>
	<mx:FormItem label="Menu Index">
		<mx:TextInput id="menuIdx" restrict="0-9" text="0" width="20"/>
	</mx:FormItem>
	<mx:FormItem label="Sub-Menu Index">
		<mx:TextInput id="subMenuIdx" restrict="0-9" width="20"/>
	</mx:FormItem>
	<mx:FormItem label="Menu Label">
		<mx:TextInput id="label_ti"/>
	</mx:FormItem>
	<mx:FormItem>
		<!--editMenu       ,      
		                  -->
		<mx:Button label="Edit" click="editMenu()"/>
	</mx:FormItem>
</mx:Form>

</mx:Application>

좋은 웹페이지 즐겨찾기