如何使用Flex弹出窗口
这篇文章主要介绍了如何使用Flex弹出窗口,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
Flex中的弹出窗口
最近修改项目的时候又了解了一些关于Flex中弹出窗口的东西,发现这个东西很有用。Flex中有两种弹出窗口:
1.最简单的警告窗口
你需要先导入Alert类:importmx.controls.Alert;
然后在想要弹出警告的时候使用:Alert.show(“你确定要退出系统吗?”,“确认”,Alert.YES|Alert.NO,null,logout)
参数说明:***个参数是要显示的文本,第二个参数是窗口的标题,这两个参数是最经常用的。第三个参数是按钮,默认是两个:YEW和NO,当然你也可以自定义,比如Alert.CANCEL,第四个参数是父窗口,默认为null。第五个参数是窗口关闭后调用的函数名,如果你想要在点击确定之后触发什么事件,就需要定义这个参数。这里我要调用logout,请注意,不要在这里写logout()。(没有括号)logout函数如下:
privatefunctionlogout(event:CloseEvent):void { if(event.detail==Alert.YES) { //具体操作 } }
因为这个函数是触发的,所以参数是一个CloseEvent。“event.detail==Alert.YES”这行代码判断点击的是不是确定按钮。CloseEvent中的detail属性专门判断点击了哪个按钮,这样就可以用户的点击控制代码。
简单的Alert用法就是这样,更多相关信息请看帮助文档。
2.Flex弹出窗口
这个就比较强大了,需要使用一个类,那就是PopUpManager,同样,使用前你需要先导入:
importmx.managers.PopUpManager;
然后你就要创建一个Compoment作为Flex弹出窗口,这个没什么特别的,创建一个普通的Compoment就行,这里我创建了一个文件叫做PopWindow,就是一个简单的Canvas,里面就放一个图片。代码如下:
PopWindow.mxml:
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Canvasxmlns:mxmx:Canvasxmlns:mx="http://www.adobe.com/2006/mxml" width="100"height="100"> <mx:Script> <![CDATA[ importmx.managers.PopUpManager; ]]> mx:Script> <mx:Imagexmx:Imagex="0"y="0"source="assets/face.PNG" click="PopUpManager.removePopUp(this)"width="90"height="82"/> mx:Canvas>
其中removePopUp是PopUpManager的一个方法,就是移除当前弹出的窗口,这里我设置了点击图片的时候就移除Flex弹出窗口。接下来我们在主程序中创建并弹出窗口:
varpop:PopWindow=PopWindow(PopUpManager.createPopUp(this,PopWindow,true));
这就完成了,这个pop是一个PopWindow(就是刚才创建的Component的文件名)类型的变量,由于PopUpManager的createPopUp返回的是一个IFlexDisplayObject,你需要将其强制转换成为PopWindow类型才能赋值给pop变量。
◆下面详细说明一下createPopUp的这几个参数:
***个参数是Flex弹出窗口的父窗体,这个相信大家都明白。
第二个参数是Flex弹出窗口的类名,也就是组件的文件名,在Flex中一个MXML文件也对应一个类。PopUpManager是根据这个类来创建弹出对话框。
第三个参数是模态标记。如果是true,就创建一个模态对话框;否则创建的就是一个非模态的对话框。
PopUpManager还有一个参数,不过不常用,具体请参考帮助文档。
然后你就可以对弹出对话框操作了,想要移除就用removePopUp(pop)。另外,如果是非模态的,可能在点击程序其它部分的时候窗口就不见了,但是它并没有移除,怎么让它出来呢?这个时候就需要PopUpManager的另外一个方法:bringToFront(),这个方法可以把窗口放到最前。你可以控制,让程序***次的时候是创建对话框,以后就是把窗口放到最前。
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用Flex弹出窗口”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341