在flex中创建一个弹出窗体可以使用TitleWindow对象。
在TitleWindow中设置标题和是否可以关闭添加监控事件,在Flex中弹出窗体必须进行相应的关闭处理释放资源信息!
<mx:Script>
<![CDATA[
import util.AppGlobal;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
// 创建弹出窗体
var titlewin:HotelOperatorLog=new HotelOperatorLog();
// 创建弹出窗台时间
private function popOperatorLog():void{
//设置弹出窗体的各种信息
titlewin.title="操作日志信息";
titlewin.showCloseButton=true;
titlewin.width=650;
titlewin.height=450;
//添加关闭监控事件用于销毁对象信息
titlewin.addEventListener(CloseEvent.CLOSE,operatelogClose);
//窗体的信息
PopUpManager.addPopUp(titlewin,AppGlobal.application,true);
PopUpManager.centerPopUp(titlewin);
}
//关闭窗体销毁界面信息
private function operatelogClose(evt:CloseEvent):void
{
PopUpManager.removePopUp(titlewin);
}
]]>
</mx:Script>
则弹出窗口将出现在此组件的局部坐标中心。若要在全局坐标中心弹出,则修改代码如下:
PopUpManager.addPopUp(titlewin,AppGlobal.application,true);
居中弹出
PopUpManager.centerPopUp(titlewin);
第一个参数为:弹出的窗体
第二个参数为:弹出时相对的窗体
第三个参数表示是否为模式窗体的
弹出窗体的几种形式:
1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事
件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。
3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记
得要将这个事件最终移除)
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="94" y="178" width="503" height="347" layout="absolute">
<mx:TextInput x="134" y="64" id="tit_usr" text="username"/>
<mx:TextInput x="134" y="125" id="tit_psw" text="password"/>
<mx:Button x="171" y="209" label="Submit" click="mytw_click()"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
import mx.controls.Text;
private var tw:titlewindow=new titlewindow();
private function mytw_click():void{
if(tw.visible){
PopUpManager.removePopUp(tw);
}
PopUpManager.addPopUp(tw,this);
PopUpManager.centerPopUp(tw);
tw.addEventListener("tw_click",update);
}
private function update(event:Event):void{
tit_usr.text=tw.tw_usr.text;
tit_psw.text=tw.tw_psw.text;
PopUpManager.removePopUp(tw);
}
]]>
</mx:Script>
</mx:Application>
弹出窗口:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="498" height="368" showCloseButton="true" close="PopUpManager.removePopUp
(this)">
<mx:Label x="96" y="67" text="username" width="97" height="26"/>
<mx:Label x="96" y="128" text="password" width="97" height="24"/>
<mx:TextInput x="217" y="65" id="tw_usr"/>
<mx:TextInput x="217" y="126" id="tw_psw"/>
<mx:Button x="228" y="239" label="Click" click="btn_click()"/>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.controls.Text;
private function btn_click():void{
dispatchEvent(new Event("tw_click"));
}
]]>
</mx:Script>
</mx:TitleWindow>
4.
owner property
owner:DisplayObjectContainer [read-write]
我也不翻译了- -说真的我看到了感觉很囧。owner这个属性在Popup中没有用途,因此,可以在创建窗口的时候将子窗口的owner设置成父窗口(也就是当时的 this),然后子窗口
访问自己的owner属性即可。
父窗口代码:PopUpDemo.mxml
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="94" y="178" width="503" height="347" layout="absolute">
<mx:TextInput x="134" y="64" id="tit_usr" text="username"/>
<mx:TextInput x="134" y="125" id="tit_psw" text="password"/>
<mx:Button x="171" y="209" label="Submit" click="mytw_click()"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
import mx.controls.Text;
private var tw:titlewindow=new titlewindow();
private function mytw_click():void{
tw.owner = this;
PopUpManager.addPopUp(tw,this);
PopUpManager.centerPopUp(tw);
}
]]>
</mx:Script>
</mx:Application>
弹出窗口代码:titlewindow.mxml
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="498" height="368" showCloseButton="true" close="PopUpManager.removePopUp
(this)">
<mx:Label x="96" y="67" text="username" width="97" height="26"/>
<mx:Label x="96" y="128" text="password" width="97" height="24"/>
<mx:TextInput x="217" y="65" id="tw_usr"/>
<mx:TextInput x="217" y="126" id="tw_psw"/>
<mx:Button x="228" y="239" label="Click" click="btn_click()"/>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
import mx.controls.Text;
private function btn_click():void{
//dispatchEvent(new Event("tw_click"));
var a:PopUpDemo = this.owner as PopUpDemo;
a.tit_usr.text = this.tw_usr.text;
a.tit_psw.text = this.tw_psw.text;
PopUpManager.removePopUp(this);
}
]]>
</mx:Script>
</mx:TitleWindow>
分享到:
相关推荐
标题中的“flex 苹果桌面效果的弹出窗口”指的是使用Adobe Flex技术在苹果桌面环境中实现类似苹果OS X系统的弹出窗口效果。Flex是一种开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA),它允许...
在Flex编程中,"弹出窗口代码"是一个常见的需求,特别是在设计用户交互界面时,我们经常需要实现点击按钮后打开一个新的窗口或者对话框来展示更多信息或进行特定操作。本篇将详细讲解如何在Flex中创建一个点击按钮后...
总结,实现“自动弹出窗口”在Flex中主要依赖`PopUpManager`类,通过设置坐标、触发条件和动画效果,可以创建出右下角或右上角弹出的窗口。这样的设计能有效地传递信息,同时保持用户界面的整洁和互动性。理解并熟练...
这个场景中,我们关注的是“Flex 弹出窗口的数据传输”,这涉及到Flex中的组件交互以及数据绑定技术。 首先,`ListTitleWindow.mxml`可能是主应用窗口,它可能包含一个列表组件,用于展示数据。在Flex中,`List`...
在Flex开发过程中,弹出对话框是与用户交互的一个常见需求。本文将深入探讨如何在Flex中定制弹出对话框,包括基础的警告框、确认框以及带有取消选项的确认框。通过具体代码示例来详细解释这些功能的实现方法。 ####...
在本文中,我们将深入探讨如何在Flex环境中实现一个具有autocomplete(自动补全)功能的弹出窗口选择器。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),它允许开发者创建交互性强、用户...
Flex4 AIR自定义窗口是一种高级的用户界面设计技术,它允许开发者创建出具有独特特性和交互体验的应用程序。在本文中,我们将深入探讨Flex4和Adobe Integrated Runtime (AIR)如何结合,实现自定义窗口功能,包括窗口...
"flex弹出另一个窗体"这个话题主要涉及如何在Flex应用程序中动态地打开一个新的窗体,尤其是当一个事件触发时,例如用户点击按钮。在这个场景中,我们不是弹出一个常见的`TitleWindow`,而是一个完整的`Application`...
在Flex中,我们可以使用PopUpManager类来创建和管理弹出窗口。这个类提供了打开和关闭窗口,以及调整窗口大小和位置的方法。通过实例化PopUpManager并传递组件作为参数,可以将任何Flex组件作为弹出窗口显示。 实现...
在网页设计和开发中,Flex布局(Flexible Box Layout)是一种强大的工具,用于创建响应式和动态的用户界面。本文将详细讲解如何利用Flex布局实现弹出窗口并使其居中显示,这对于创建各种交互式功能,如模态框、提示...
在本文中,我们将深入探讨如何使用Flex技术来创建一个类似于苹果风格的弹出菜单。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据绑定...
在IT行业中,Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。它由Adobe公司提供,允许开发者创建具有丰富图形界面和交互功能的Web应用。而Google Maps API则是一个强大的工具,它...
本主题聚焦于“FLEX弹出框特效”,这通常指的是使用Flexbox创建的交互式对话框或者窗口,它们在用户界面上以弹出的方式显示,提供额外的信息或功能。以下将详细介绍FLEX弹出框特效及其在3.0版本中的应用。 1. **...
Flex是一款强大的开发框架,主要用于构建富互联网应用程序(Rich Internet Applications, RIA),它基于ActionScript编程语言和MXML标记语言,提供丰富的用户界面组件和交互功能。 在Flex中制作工作流程图,首先...
在模仿Windows窗口的例子中,开发者可能利用了弹出窗口组件(PopUpWindow)和其他UI元素,如标题栏、边框、关闭按钮等,这些都与Windows界面风格相似。 3. 用户界面组件:Flex 3.0提供了一系列的组件,如Button、...
在Flex开发中,DataGrid组件通常用于展示结构化数据,并允许用户进行交互操作。而TitleWindow则是一种常用的小型窗口,常用来显示弹出式对话框。本篇将深入探讨如何利用Flex 3中的TitleWindow组件来为DataGrid添加新...
- **弹出窗口**:使用`PopupManager`类可以创建弹出窗口。 - **TitleWindow组件**:一个带有标题栏的窗口,可以移动和关闭。 - **ViewStack组件**:用于实现多个视图之间的切换。 - **表单Form**:提供了一种结构化...