`

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>
分享到:
评论

相关推荐

    flex常用动态菜单

    动态添加菜单项是Flex动态菜单的核心特性,可以根据用户操作或数据变化实时更新菜单内容。例如,我们可以根据服务端返回的数据动态生成菜单: ```actionscript for each (var item:Object in serverData) { var ...

    flex学习笔记 flex学习总结 flex学习教程

    这是Flex实现动态界面的重要机制。 5. **ActionScript深入**:除了基本的变量、函数、类之外,ActionScript还包括错误处理、事件处理、类的继承、接口实现等内容。熟练掌握ActionScript能提升编程能力。 6. **Flex...

    Flex学习笔记-基本语法

    在本文中,我们将深入探讨Flex学习过程中的基础语法,特别是从AS2到AS3的变化。 首先,ActionScript 3(AS3)是AS的一个重大升级,它引入了完全的面向对象编程(OOP)概念。这意味着AS3具有类、继承、封装和多态性...

    flex-menu.rar_Flex 4_Menu_flex_flex Menu_flex 菜单

    通过深入研究这些示例,开发者可以学习到如何定制菜单的外观,如改变字体、颜色、边框和背景,以及如何添加动态加载的菜单项和自定义的鼠标悬停效果。此外,还可以学习到如何响应用户的菜单选择,实现相应的业务逻辑...

    FLEX学习笔记

    《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...

    FLEX 鱼眼菜单,点击菜单3D旋转效果切换页面

    在这个场景中,我们讨论的是一个使用FLEX实现的具有3D旋转效果的鱼眼菜单,当用户点击菜单项时,页面会以3D旋转的方式进行切换。 首先,我们需要了解FLEX布局的基础知识。FLEX布局允许开发者设置容器内的子元素如何...

    Flex 学习资料flex学习资料

    flex学习资料flex学习资料flex学习资料

    Flex学习笔记.rar

    本压缩包“Flex学习笔记.rar”显然是一份针对初学者的教程资料,旨在帮助新接触Flex的开发者快速上手。 在“FlexBeginner.pdf”这份文档中,你可以期待找到以下关键知识点: 1. **Flex概述**:介绍Flex技术的基本...

    Flex创建菜单栏

    通过分析和学习这个示例,你可以更深入地理解Flex中`MenuBar`组件的工作原理和使用方式。 总结来说,使用Flex创建菜单栏需要理解数据源的概念,掌握XML或ArrayCollection作为数据源的设置方法,以及如何处理菜单项...

    flex自定义多级系统菜单

    这个“flex自定义多级系统菜单”的话题,主要是关于如何在Flex中通过XML配置实现动态、多层次的菜单结构。 在Flex中,菜单通常由`Menu`或`MenuBar`组件来创建。然而,为了实现自定义的多级菜单,我们需要更深入地...

    Flex自定义右键菜单

    在Flex开发中,自定义右键菜单是一项常见的需求,它能为用户界面提供更丰富的交互体验。Flex是一款基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在这里,我们将深入探讨如何在Flex中实现...

    Flex4 滑动菜单案例

    在这个"Flex4 滑动菜单案例"中,我们将探讨如何利用Flex4的组件和特效来实现一个动态的滑动菜单。 滑动菜单是用户界面设计中的常见元素,它可以提供更高效的导航,特别是在内容丰富的应用中。在Flex4中,我们可以...

    flex加载动态图片

    flexBulider页面加载动态图片的显示

    Flex学习笔记(flex必知必会).doc

    Flex学习笔记(flex必知必会).docFlex学习笔记(flex必知必会).doc

    flex 4.6 树形多选+动态菜单

    包含2个demo 一个是树形多选框,可选中多个选项,并同时显示选中项的内容;一个是动态可伸缩的菜单,点击后弹出菜单,菜单失去焦点后收缩。

    Flex 实现右键菜单

    本文将深入探讨如何在Flex环境中实现自定义的右键菜单,包括屏蔽浏览器的默认右键菜单,创建XML格式的多级菜单,以及设置菜单出现位置的自适应策略。 首先,我们需要了解Flex屏蔽浏览器系统右键的基本方法。在...

    flex实现右键菜单

    本话题我们将探讨如何使用Flex技术来实现一个自定义的右键菜单。Flex是一种基于ActionScript 3.0的开放源码框架,主要用于构建富互联网应用程序(RIA)。 首先,我们需要理解Flex的基本架构。Flex使用MXML和...

    flex打造动态扩展和收缩的菜单

    flex的简单应用例子

    flex 学习详细笔记

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术,它主要基于ActionScript和MXML。本笔记将深入探讨Flex的基本概念、架构...希望这份笔记能对Flex爱好者提供实质性的帮助,祝你在学习过程中取得成功!

    flex学习小记录

    标题中的“flex学习小记录”表明这是一份关于Adobe Flex技术的学习笔记或教程。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),特别是在Flash Player和Adobe AIR上运行的应用。它基于ActionScript语言,...

Global site tag (gtag.js) - Google Analytics