Flex弹出窗口
2017-04-13 10:47
281 查看
1、TitleWindow布局容器实际上是一个弹出窗口的面板容器。与面板Panel布局容器不同的是,TitleWindow有一个关闭按钮,用户还可以拖动这个窗口。这个弹出可以是模态的,也可以是非模态的。
8.1 创建TitleWindow容器
要创建一个弹出窗体,需要用到PopUpManager类。在此类中createPopUp()方法可以创建一个弹出窗体。其语法格式为: public static createPopUp(parent:DisplayObject, class:Class, modal:Boolean = false):IFlexDisplayObject 参数说明:
parent:父对象。
class:弹出窗体的类。
modal:是否为模态窗体。
示例1:
main.mxml
MyTitleWindow.mxml:
示例2:
示例3(自己例子):
ApplicationDetail.mxml:
..
8.1 创建TitleWindow容器
要创建一个弹出窗体,需要用到PopUpManager类。在此类中createPopUp()方法可以创建一个弹出窗体。其语法格式为: public static createPopUp(parent:DisplayObject, class:Class, modal:Boolean = false):IFlexDisplayObject 参数说明:
parent:父对象。
class:弹出窗体的类。
modal:是否为模态窗体。
示例1:
main.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; // 创建窗体对象 private var pop:MyTitleWindow; // 按钮单击事件 private function btnLoginWnd_click():void { // 创建弹出窗体 pop = MyTitleWindow(PopUpManager.createPopUp(this, MyTitleWindow, false)); // 设置弹出窗体是否显示关闭按钮 pop.showCloseButton = false; // 弹出窗体按钮单击事件 pop.btnLogin.addEventListener(MouseEvent.CLICK, btnLogin_click); } // 登录按钮单击事件 private function btnLogin_click(e:MouseEvent):void { // 返回登录名并设置文本标签内容 lbUser.text = "登录名:" + pop.userName.text; // 移除弹出窗体 PopUpManager.removePopUp(pop); } ]]> </mx:Script> <mx:Label id="lbUser" text="还没有登录" fontSize="14" x="39" y="10"/> <mx:Button id="btnLoginWnd" click="btnLoginWnd_click()" x="39" y="41" fontSize="12" label="登录"/> </mx:Application>
MyTitleWindow.mxml:
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Form> <mx:FormHeading label="用户登录" fontSize="16"/> <mx:FormItem label="用户名:" fontSize="12"> <mx:TextInput id="userName"/> </mx:FormItem> <mx:FormItem label="密码:" fontSize="12"> <mx:TextInput displayAsPassword="true"/> </mx:FormItem> <mx:FormItem> <mx:Button id="btnLogin" label="登录" fontSize="12"/> </mx:FormItem> </mx:Form> </mx:TitleWindow>
示例2:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init()" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.controls.Label; import mx.events.CloseEvent; import mx.containers.TitleWindow; import mx.managers.PopUpManager; private var titleWindow:TitleWindow; private function init():void { var label:Label = new Label(); label.text = "Hello world"; titleWindow = new TitleWindow(); titleWindow.title = "Custom title"; titleWindow.showCloseButton = true; titleWindow.width = 240; titleWindow.height = 180; titleWindow.addEventListener(CloseEvent.CLOSE, titleWindow_close); titleWindow.addChild(label); PopUpManager.addPopUp(titleWindow, this, true); PopUpManager.centerPopUp(titleWindow); } private function titleWindow_close(evt:CloseEvent):void { PopUpManager.removePopUp(titleWindow); } ]]> </mx:Script> <mx:Button label="Launch TitleWindow" click="init()" /> </mx:Application>
示例3(自己例子):
addEventListener(MouseEvent.CLICK, clickHandle); /** * 展示系统详情 * */ public function clickHandle(event:MouseEvent):void { var e:SequenceElement=event.currentTarget as SequenceElement; var application:EsbApplication = e.getObj as EsbApplication; if(detailObj == null){ detailObj = ApplicationDetail(PopUpManager.createPopUp(this, ApplicationDetail, false)) } //Alert.show("event.stageX : " + event.stageX + " event.stageY : " + event.stageY,"提示"); //Alert.show("event.localX : " + event.localX + " event.localY : " + event.localY,"提示"); //Alert.show("mouseX : " + this.mouseX + " mouseX : " + mouseY,"提示"); detailObj.application = application; detailObj.x = event.stageX; detailObj.y = event.stageY; detailObj.showCloseButton = true; detailObj.addEventListener(CloseEvent.CLOSE, windowClose); } /** * 详情窗口关闭 * */ public function windowClose(evt:CloseEvent):void { PopUpManager.removePopUp(detailObj); detailObj = null; }
ApplicationDetail.mxml:
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" title="系统基本信息" fontSize="12" width="300" height="150" backgroundColor="#F7F7F7"> <mx:Script> <![CDATA[ import com.model.EsbApplication; [Bindable] var application:EsbApplication; ]]> </mx:Script> <mx:Form width="95%" height="90%" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:FormItem label="系统ID" fontSize="12"> <mx:Label id="ID" text="{application.id}"/> </mx:FormItem> <mx:FormItem label="系统CODE" fontSize="12"> <mx:Label id="appCode" text="{application.applicationCode}"/> </mx:FormItem> <mx:FormItem label="系统名称" fontSize="12"> <mx:Label id="applicationName" text="{application.applicationName}"/> </mx:FormItem> <mx:FormItem label="系统描述" fontSize="12"> <mx:Label id="applicationDesc" text="{application.applicationDesc}"/> </mx:FormItem> </mx:Form> </mx:TitleWindow>
..
相关文章推荐
- Flex中设置弹出窗口的弹出效果(alpha值的渐变和scale值的渐变)
- Flex PopUpManager 弹出窗口居中
- Flex 弹出窗口
- Flex在窗口之外单击关闭弹出窗口的方法
- flex界面弹出jsp模态窗口,并向js传值
- Flex PopUpManager 弹出窗口居中
- flex 弹出模式窗口 模式蒙板透明度设置
- Flex 弹出窗口
- Flex中的弹出窗口(mx.managers.PopUpManager)
- Flex弹出窗口实现和子父Flex窗口的数据交换
- Flex中的弹出窗口(mx.managers.PopUpManager)
- Flex点击弹出图片窗口;
- Flex中的弹出窗口
- Flex--主程序与弹出窗口之间传递数据
- flex 在父窗口监听弹出窗口里的某个按钮被点击
- FLEX QQ 弹出窗口(消息框)
- flex 右下角弹出提示窗口
- Flex3.2页面中心弹出窗口
- Flex使用弹出窗口为DataGrid添加新数据
- 全面认识Flex弹出窗口的方法