flex PopUpManager弹出窗口

阅读更多
flex PopUpManager类

  PopUpManager 类 PopUpManager 类ActionScript 类名称mx.managers.PopUpManager

  PopUpManager 类的方法摘要

  PopUpManager.createPopUp() 创建弹出窗口。

  PopUpManager.deletePopUp() 删除由调用PopUpManager.createPopUp() 而创建的弹出窗口。

  PopUpManager.createPopUp(parent, class, modal [, initobj, outsideEvents])

  参数:parent 对弹出窗口所基于的窗口的引用。

  class 对要创建的对象的类的引用。

  modal 一个布尔值,它指示该窗口是(true) 否(false) 是模式

  initobj 一个包含初始化属性的对象。此参数是可选的。

  outsideEvents 一个布尔值,指示在用户单击窗口以外的区域时是(true) 否(false) 触发事件。此参数是可选的。



1.PopUpManager--createPopUp与addPopUp区别

  createPopUp:是上来先设置好弹出方式,然后在new出来一个TitleWindow的对象,然后通过此对象设置他的变现形式。

addPopUp:是先new出来对象,设置好表现形式,然后在选择弹出来的方式。

一定要注意new对象与弹出方式的先后顺序。

addPopUp代码

   
        layout="vertical"  
        verticalAlign="middle"  
        backgroundColor="white"  
        creationComplete="init()">   
  
       
                    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);   
            }   
        ]]>   
   
   
  
       
  
  
createPopUp代码:

   
        layout="vertical"  
        verticalAlign="middle"  
        backgroundColor="white"  
        creationComplete="init()">   
  
       
                    import mx.managers.PopUpManagerChildList;   
            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 = TitleWindow(PopUpManager.createPopUp(this,TitleWindow,true));   
                titleWindow.title = "Custom title";   
                titleWindow.showCloseButton = true;   
                titleWindow.width = 240;   
                titleWindow.height = 180;   
                titleWindow.addChild(label);   
                titleWindow.addEventListener(CloseEvent.CLOSE, titleWindow_close);   
                               PopUpManager.centerPopUp(titleWindow);   
            }   
  
            private function titleWindow_close(evt:CloseEvent):void {   
                PopUpManager.removePopUp(titleWindow);   
            }   
        ]]>   
   
   
  
       
  
  
2.弹出窗口为DataGrid添加新数据



(1)Note.as

package 

  public class Note 
  { 
    public var author:String; 
    public var topic:String; 
    public var description:String; 
  } 
}


(2)AddNote.mxml


layout="absolute" width="348" height="218"
title="Add A Note">
 
    [Event(name="SaveNote")] 
 

 
        import mx.managers.PopUpManager;       
     //PopUpManager.createPopUp() 创建弹出窗口
     private function close():void
     {
       PopUpManager.removePopUp(this);
     }
     
     private function save():void
     {
       this.dispatchEvent(new Event("SaveNote"));
     }
   ]]>

 
 
 
 
 
 
 
 




(3)Test.mxml


xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="500" height="300"
creationComplete="init()">
 
        import mx.managers.PopUpManager;
     import mx.collections.ArrayCollection;
   
     [Bindable]
     private var notes:ArrayCollection = new ArrayCollection();
   
     private var addNoteScreen:AddNote;
   
     private function init():void
     {
       addNoteScreen = new AddNote();
       addNoteScreen.addEventListener("SaveNote", saveNote);
     }
   
     private function addNote():void
     {
       PopUpManager.addPopUp(addNoteScreen, this, true);
       PopUpManager.centerPopUp(addNoteScreen);
       addNoteScreen.author.text = "";
       addNoteScreen.topic.text = "";
       addNoteScreen.description.text = "";
     }
   
     private function saveNote(e:Event):void
     {
       var note:Note = new Note();
       note.author = addNoteScreen.author.text;
       note.topic = addNoteScreen.topic.text;
       note.description = addNoteScreen.description.text;
       notes.addItem(note);
       PopUpManager.removePopUp(addNoteScreen);
     }
   ]]>

     width="100%" height="100%"
   layout="vertical" horizontalAlign="right"
   paddingTop="3" paddingLeft="3" paddingRight="3" paddingBottom="3">
   
     
       
       
       
     

   

   
 



摘自:http://secyaher.blog.163.com/blog/static/3895577200961515754123/

你可能感兴趣的:(flex PopUpManager弹出窗口)