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