Flex点击弹出菜单示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			//导入需要的包
			import mx.controls.Menu;
			import mx.events.MenuEvent;
			import mx.controls.Alert;           
			import flash.geom.Point;
			import flash.events.MouseEvent;
			//声明一个标明鼠标位置的类
			private var point1:Point = new Point();
			//声明菜单
			private var myMenu:Menu;
			//定义弹出菜单函数
			private function showMenu(event:MouseEvent):void {
				//创建弹出菜单,指明弹出菜单得内容
				myMenu= Menu.createMenu(panel, myMenuData, false);
				//指明弹出菜单,显示的字段
				myMenu.labelField="@label"
				//指明点击菜单项时响应的函数
				myMenu.addEventListener("itemClick", menuHandler);
				//得到鼠标的位置并弹出菜单
				point1.x=event.stageX;
				point1.y=event.stageY; 
				myMenu.show(point1.x , point1.y);
			}
			//定义函数响应点击菜单事件
			private function menuHandler(event:MenuEvent):void {
				//定义一个连接请求URLRequest对象实例
				var searchRequest:URLRequest;
				//如果点击删除菜单
				if(event.item.@eventName=="delete")
				{
					//清空source_txa内容
					source_txa.text="";
				}
				//如果点击百度搜索菜单
				else if(event.item.@eventName=="baidu")
				{
					//使用百度搜索source_txa.text内容
					searchRequest = new URLRequest("http://www.baidu.com/baidu?word="+source_txa.text);
					//打开搜索结果页面
					navigateToURL(searchRequest);
				}
				//如果点击Google搜索菜单
				else if(event.item.@eventName=="google")
				{
					//使用Google搜索source_txa.text内容
					searchRequest = new URLRequest("http://www.google.cn/search?q="+source_txa.text);
					//打开搜索结果页面
					navigateToURL(searchRequest);
				}
			} 
			//初始化函数   
			private function init():void{
				//设定监听source_txa组件的点击函数
				source_txa.addEventListener(MouseEvent.CLICK,showMenu);
			}
		]]>
	</mx:Script>
	<!-- 设定菜单内容的数据-->
	<mx:XML id="myMenuData">
		<root>
			<menuitem label="删除" eventName="delete"/>
			<menuitem label="搜索" eventName="search">
				<menuitem label="使用百度" eventName="baidu"/>
				<menuitem label="使用google" eventName="google"/>
			</menuitem>
		</root>
	</mx:XML>
	<!--定义Panel作为菜单的容器 -->
	<mx:Panel id="panel" width="60%" height="60%" layout="horizontal" horizontalCenter="0" verticalCenter="0" title="弹出菜单">
		<mx:Form width="50%">
			<mx:FormHeading label="弹出菜单演示"/>
			<mx:FormItem label="说明">
				<!--定义TextArea组件响应点击事件 -->
				<mx:TextArea id="source_txa" editable="false" selectable="false" text="Flex入门"/>
			</mx:FormItem>
		</mx:Form>
	</mx:Panel>
</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值