您的位置:首页 > 产品设计 > 产品经理

flex PopUpManager弹出窗口

2013-09-27 10:25 429 查看


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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: