`

flex PopUpManager弹出窗口

    博客分类:
  • Flex
 
阅读更多
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代码

<?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()">   
  
    <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>  
createPopUp代码:

<?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()">   
  
    <mx:Script>   
        <![CDATA[   
            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);   
            }   
        ]]>   
    </mx:Script>   
  
    <mx:Button label="Launch TitleWindow" click="init()" />   
  
</mx:Application>  
2.弹出窗口为DataGrid添加新数据



(1)Note.as

package 

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


(2)AddNote.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" width="348" height="218"
title="Add A Note">
  <mx:Metadata>
    [Event(name="SaveNote")] 
  </mx:Metadata>
  <mx:Script>
   <![CDATA[
     import mx.managers.PopUpManager;       
     //PopUpManager.createPopUp() 创建弹出窗口
     private function close():void
     {
       PopUpManager.removePopUp(this);
     }
     
     private function save():void
     {
       this.dispatchEvent(new Event("SaveNote"));
     }
   ]]>
</mx:Script>
  <mx:Label text="Author" x="35" y="10"/>
  <mx:TextInput id="author" width="150" x="84" y="8"/>
  <mx:Label text="Topic"  y="36" x="42"/>
  <mx:TextInput id="topic" width="150" x="84" y="34"/>
  <mx:Label text="Description"  y="62" x="10"/>
  <mx:TextArea id="description" width="234" height="77" x="84" y="61"/>
  <mx:Button label="Cancel" click="close()" x="193" y="146"/>
  <mx:Button label="Save" click="save()" x="264" y="146"/>
</mx:TitleWindow  >



(3)Test.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="500" height="300"
creationComplete="init()">
  <mx:Script>
   <![CDATA[
     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);
     }
   ]]>
</mx:Script>
  <mx:Panel title="Notes"
   width="100%" height="100%"
   layout="vertical" horizontalAlign="right"
   paddingTop="3" paddingLeft="3" paddingRight="3" paddingBottom="3">
    <mx:DataGrid dataProvider="{notes}" width="100%" height="100%">
      <mx:columns>
        <mx:DataGridColumn headerText="Author" dataField="author" width="80"/>
        <mx:DataGridColumn headerText="Topic" dataField="topic" width="100"/>
        <mx:DataGridColumn headerText="Description" dataField="description"/>
      </mx:columns>
    </mx:DataGrid>
    <mx:Button label="Add Note" click="addNote()"/>
  </mx:Panel>
</mx:Application>

摘自:http://secyaher.blog.163.com/blog/static/3895577200961515754123/
分享到:
评论
2 楼 shuiyunbing 2015-08-10  
请问下 flex 弹出的窗口都是 拖动都在浏览器内部,能否脱离浏览器。
1 楼 ggggwffgqeg 2014-11-03  
//清除所有titlewindows 删除由 createPopUp() 或 addPopUp() 方法弹出的弹出窗口。
var sm:ISystemManager=this.systemManager;
var i:int=sm.numChildren;
for (var j:int=0;j<i;j++){
if(sm.getChildAt(j) is TitleWindow){
PopUpManager.removePopUp(sm.getChildAt(j) as TitleWindow);
}
}

相关推荐

    Flex 弹出窗口代码

    在Flex中,我们可以使用`PopUpManager`类来创建和管理弹出窗口。 创建弹出窗口的第一步是定义一个按钮组件。在MXML文件中,可以这样声明一个按钮: ```xml 打开弹出窗口" click="openPopup(event)"/&gt; ``` 这里,`...

    flex 自动弹出窗口(右下角弹出,右上角弹出)

    在Flex中实现自动弹出窗口,我们通常会使用`PopUpManager`类,这是一个核心的Flex组件,用于管理屏幕上的浮动组件。 **1. 右下角弹出窗口** 要实现在屏幕右下角弹出窗口,我们需要做以下几步: - 创建弹出窗口...

    flex PopUpManager使用说明

    Flex中的`PopUpManager`是Adobe Flex SDK提供的一种服务,用于管理应用程序中的弹出窗口(如对话框或菜单)。这个类对于创建具有复杂层级关系的用户界面非常有用,因为它允许你方便地添加、移除和控制弹出内容的显示...

    Flex 弹出窗口的数据传输

    在Flex中,我们可以使用`PopUpManager`类来创建和管理弹出窗口。弹出窗口与主窗口之间的数据通信可以通过事件监听或者依赖注入来实现。例如,当用户选择列表中的一个项时,可以触发一个事件,将选中项的数据传递给弹...

    Flex--主程序与弹出窗口之间传递数据

    在Flex中,应用通常包含一个主程序(通常是Application类的实例),以及可能的多个弹出窗口(如PopUpManager创建的弹出层或WindowedApplication)。这些组件形成了一个层次结构,允许父组件与子组件之间进行通信。 ...

    flex仿qq右边弹出提示消息功能

    在Flex中,我们可以使用PopUpManager类来创建和管理弹出窗口。这个类提供了打开和关闭窗口,以及调整窗口大小和位置的方法。通过实例化PopUpManager并传递组件作为参数,可以将任何Flex组件作为弹出窗口显示。 实现...

    Flex弹出窗口请求Action函数示例

    2. 使用`PopUpManager.addPopUp`方法将新创建的弹出窗口添加到Flex应用程序中,并通过`this`关键字指向父容器,`true`参数设置为模态窗口。 3. 通过`PopUpManager.centerPopUp`方法将弹出窗口居中显示在屏幕上。 4...

    应用于AIR中的弹出窗口管理类

    模仿Flex中的PopUpManager类写的一个应用于AIR中的弹出窗口管理类,包含完整的FlashBuilder4.6测试项目。 存在问题: 1、修改舞台尺寸后,生成的遮罩可能无法正确的覆盖整个舞台 2、主窗口的关闭、最大化、最小化...

    FLEX4 s:dataGrid单元格弹出可文本

    4. **显示自定义组件**:根据需要,你可以使用`PopUpManager`类将自定义组件以弹出窗口的形式显示出来: ```actionscript var customComponent:CustomComponent = new CustomComponent(); PopUpManager.addPopUp...

    Flex打开新窗口将主窗口数据传给子窗口然后返回

    PopUpManager类是用于管理Flex中的弹出窗口的一个类。它提供了一些方法来添加、移除和管理弹出窗口。例如,在本例中,我们就使用了"PopUpManager.addPopUp(wnd,this,false);"方法来以非模态方式弹出子窗口。 知识点...

    做flex项目的小技巧

    ### 做Flex项目的小技巧详解 #### 一、弹出新窗口 ...这些技巧涵盖了Flex开发中的常见问题,包括弹出窗口、多视图切换、服务器交互、数据处理等方面,对于提升Flex应用程序的质量和性能具有重要意义。

    flex拖拽形成柱状图,点击弹出图片窗口,柱状图用法

    可以使用`PopUpManager`类来管理弹出窗口的生命周期。 5. **自定义样式和交互**: Flex允许我们自定义柱状图的外观和行为。可以通过CSS样式表或直接在MXML代码中设置颜色、边框、渐变等属性。此外,还可以添加提示...

    Flex开门,关门,翻转,效果

    在Flex中,PopupManager类负责管理这些弹出窗口,而动画效果则可以通过添加自定义的打开和关闭动画来增强用户体验。开发者可能通过改变Popup的大小、位置,甚至添加旋转等变换来实现各种炫酷的弹出效果。 总的来说...

    flex 特效拖动Panel变Window

    PopUpManager允许我们在应用程序中创建、显示和管理弹出窗口,包括将Panel转换为模态或非模态窗口。 7. 事件处理:在拖动过程中,需要监听DragEvent和MouseEvent,例如DRAG_START、DRAG、DRAG_END等,以执行相应的...

    flex通过remote连接后台

    其次,**PopupManager**是Flex中用于管理弹出窗口的类。它可以用来创建和控制弹出对话框,提供用户与应用进行更深入交互的方式。PopupManager允许我们创建自定义组件并以模态或非模态方式显示它们,这在很多场景下...

    Flex TileList图片展示(相册)

    - PopUpManager是Flex提供的一个工具类,用于管理弹出窗口(如对话框、菜单等)的生命周期。在这个案例中,它可能被用来实现图片的预览功能。 - 当用户点击某个图片时,可能通过PopUpManager创建一个新的窗口或者...

    flex TitleWindow之间数据传输

    在Flex框架中,实现主页面与弹出窗口之间的数据交互是一项常见且实用的功能。本文将深入解析如何利用TitleWindow组件进行数据传输,包括从主应用向弹出窗口传递数据以及反之亦然的过程。通过实际代码示例,我们将...

    flex开发实例

    - **弹出窗口**:使用`PopupManager`类可以创建弹出窗口。 - **TitleWindow组件**:一个带有标题栏的窗口,可以移动和关闭。 - **ViewStack组件**:用于实现多个视图之间的切换。 - **表单Form**:提供了一种结构化...

    FLEX问题总汇 (总结篇)

    使用`PopUpManager.centerPopUp()`方法可以将弹出窗口居中显示,例如`PopUpManager.createPopUp(DisplayObject(Application.application), TitleWindow, true);` 以上就是关于FLEX的常见问题及解决方案的详细总结...

    Flex 开发实例( ArcGIS)

    Flex提供了PopupManager类来创建和管理弹出窗口。弹出窗口可以被用来显示上下文菜单、提示信息或者作为模态对话框。 #### 9. TitleWindow 组件 TitleWindow组件是一个可以拖动的窗口,通常用作对话框或者工具窗口...

Global site tag (gtag.js) - Google Analytics