Flex点击弹出菜单示例

在某个组件上点击,弹出一个菜单。选择可执行的操作 
Flex 3.0SDK 
 <?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>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值