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
<?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弹出窗口的数据传输需要掌握Flex组件模型、事件处理机制以及数据共享的方法。在实际开发中,应根据项目需求选择合适的数据传递策略,同时考虑性能和可维护性。对于“博文链接:...
在本文中,我们将深入探讨如何在Flex环境中实现一个具有autocomplete(自动补全)功能的弹出窗口选择器。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),它允许开发者创建交互性强、用户...
在Flex编程中,"弹出窗口代码"是一个常见的需求,特别是在设计用户交互界面时,我们经常需要实现点击按钮后打开一个新的窗口或者对话框来展示更多信息或进行特定操作。本篇将详细讲解如何在Flex中创建一个点击按钮后...
本文将详细讲解如何利用Flex布局实现弹出窗口并使其居中显示,这对于创建各种交互式功能,如模态框、提示框等至关重要。 一、Flex布局基础 1. Flex容器:一个具有`display: flex`或`display: inline-flex`样式的...
根据给定文件信息,下面详细阐述Flex弹出窗口请求Action函数相关知识点。 首先,“Flex”是一种使用基于MXML和ActionScript的富Internet应用程序开发的框架,用于构建具有复杂用户界面的应用程序。Flex应用程序通常...
本篇文章将详细探讨如何实现“自动弹出窗口”,特别是右下角和右上角弹出的窗口效果,以及与之相关的Flex技术。 首先,Flex是一种开源的开发框架,主要用于构建富互联网应用程序(RIA)。它基于ActionScript语言,...
标题中的“flex 苹果桌面效果的弹出窗口”指的是使用Adobe Flex技术在苹果桌面环境中实现类似苹果OS X系统的弹出窗口效果。Flex是一种开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA),它允许...
在网页设计中,弹出窗口是一种常见的交互元素,用于显示重要的信息、提示用户操作或提供扩展功能。"jQuery + CSS 实现绚丽的弹出窗口效果"这个主题涉及到两个关键的技术:JavaScript 库 jQuery 和样式语言 CSS。它们...
而TitleWindow则是一种常用的小型窗口,常用来显示弹出式对话框。本篇将深入探讨如何利用Flex 3中的TitleWindow组件来为DataGrid添加新数据,以提升用户体验。 首先,了解Flex 3中的TitleWindow组件。TitleWindow是...
flex4自定义弹出窗口 支持最大化 最小化
这个主题聚焦于“Flex中主程序与弹出窗口之间的数据传递”。在Flex应用开发中,经常需要在主应用程序和弹出窗口(如对话框)之间交换数据,以便实现更加复杂的交互逻辑。 一、Flex中的组件层次结构 在Flex中,应用...
本主题聚焦于“FLEX弹出框特效”,这通常指的是使用Flexbox创建的交互式对话框或者窗口,它们在用户界面上以弹出的方式显示,提供额外的信息或功能。以下将详细介绍FLEX弹出框特效及其在3.0版本中的应用。 1. **...
本文将深入探讨一种常见的网页交互技术——点击后弹出窗口,并详细介绍如何实现背景变黑以及居中定位的功能,以提供更好的视觉效果和用户体验。 首先,我们要明白弹出窗口通常用于显示额外的信息、广告、登录框或...
首先,我们要理解Flex中的弹出窗口(Pop-up Window)机制。在Flex中,我们可以使用PopUpManager类来创建和管理弹出窗口。这个类提供了打开和关闭窗口,以及调整窗口大小和位置的方法。通过实例化PopUpManager并传递...
Flex特效_可拖动弹出窗口布局容器TitleWindow.zip )
标题提到的“非常炫的js弹出窗口”是一个利用JavaScript技术实现的动态对话框,它可以提供丰富的用户交互体验,与EXT框架的效果相媲美。 EXT是一个强大的JavaScript库,专门用于构建富客户端应用,它包含了一系列...
托盘图标可以有弹出菜单、提示信息等功能,用户可以通过点击托盘图标重新显示或关闭窗口。这需要监听`NativeWindow`的`systemChrome`和`transparent`属性变化,以及处理`NativeTrayIcon`的事件。 后台运行是指即使...