PopUpManager中有五个静态方法,即addPopUp,centerPopUp,createPopUp,removePopUp和bringToFront五个,具体形式如下:
addPopUp(
window:
IFlexDisplayObject
, parent:
DisplayObject
, modal:
Boolean
= false, childList:
String
= null, moduleFactory:
IFlexModuleFactory
= null):
void
window是要弹出的窗口,parent是指其弹出时的父项,但其parent不一定就是拉出时的那个,modal是指是否为模态,即外界可否操作(窗口存在时),false是可以。
PS:一般定义了一个PopUpManager变量后,利用createPopUP会比较好,因为它是返回一个实现了IFlexDispalyObject的实例。
createPopUp(
parent:
DisplayObject
, className:
Class
, modal:
Boolean
= false, childList:
String
= null, moduleFactory:
IFlexModuleFactory
= null):
IFlexDisplayObject
创造一个弹出窗口,其父窗口即为parent,类型为className,然后模态与前绪述的一样,当为false时鼠标可以和弹出窗口外面的控件交互。一般创造这种弹出窗口时,最好创造一个PopUpManager变量来存储弹出窗口。
centerPopUp(
popUp:
IFlexDisplayObject
):
void
将弹出窗口放置在界面中间,即center
removePopUp(
popUp:
IFlexDisplayObject
):
void
移除指定的弹出窗口。
PS:个人觉得这个方法是和createPopUp配套的,至于怎么移除addPopUp产生的弹出窗口,现在还不知道。
bringToFront(
popUp:
IFlexDisplayObject
):
void
将指定的弹出窗口放在最上面。
在Flex的某个组件中使用
- var somePopupWindow : MyPopupWindow =
- MyPopupWindow(PopUpManager.createPopUp(this, MyPopupWindow, false));
- PopUpManager.centerPopUp(somePopupWindow);
则弹出窗口将出现在此组件的局部坐标中心。若要在全局坐标中心弹出,则修改代码如下:
- var somePopupWindow : MyPopupWindow =
- MyPopupWindow(PopUpManager.createPopUp(this.root, MyPopupWindow, false));
- PopUpManager.centerPopUp(somePopupWindow);