加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中的弹出窗口(mx.managers.PopUpManager)

发布时间:2020-12-15 01:19:21 所属栏目:百科 来源:网络整理
导读:? ?????? flex PopUpManager类 PopUpManager 类 PopUpManager 类ActionScript 类名称mx.managers.PopUpManager PopUpManager 类的方法摘要 PopUpManager.createPopUp() 创建弹出窗口。 PopUpManager.deletePopUp() 删除由调用PopUpManager.createPopUp() 而

?

?????? 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代码

  1. <?xml version="1.0"encoding="utf-8"?>?
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3. layout="vertical"
  4. verticalAlign="middle"
  5. backgroundColor="white"
  6. creationComplete="init()">?
  7. <mx:Script>?
  8. <![CDATA[?
  9. importmx.controls.Label;?
  10. importmx.events.CloseEvent;?
  11. importmx.containers.TitleWindow;?
  12. importmx.managers.PopUpManager;?
  13. privatevar titleWindow:TitleWindow;?
  14. privatefunction init():void{?
  15. varlabel:Label = newLabel();?
  16. label.text= "Hello world";?
  17. titleWindow= newTitleWindow();?
  18. titleWindow.title= "Custom title";?
  19. titleWindow.showCloseButton= true;?
  20. titleWindow.width= 240;?
  21. titleWindow.height= 180;?
  22. titleWindow.addEventListener(CloseEvent.CLOSE,titleWindow_close);?
  23. titleWindow.addChild(label);?
  24. PopUpManager.addPopUp(titleWindow,this,true);?
  25. PopUpManager.centerPopUp(titleWindow);?
  26. }?
  27. privatefunction titleWindow_close(evt:CloseEvent):void{?
  28. PopUpManager.removePopUp(titleWindow);?
  29. }?
  30. ]]>?
  31. </mx:Script>?
  32. <mx:Button label="LaunchTitleWindow" click="init()"/>?
  33. </mx:Application>

createPopUp代码:

  1. <?xml version="1.0"encoding="utf-8"?>?
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3. layout="vertical"
  4. verticalAlign="middle"
  5. backgroundColor="white"
  6. creationComplete="init()">?
  7. <mx:Script>?
  8. <![CDATA[?
  9. importmx.managers.PopUpManagerChildList;?
  10. importmx.controls.Label;?
  11. importmx.events.CloseEvent;?
  12. importmx.containers.TitleWindow;?
  13. importmx.managers.PopUpManager;?
  14. privatevar titleWindow:TitleWindow;?
  15. privatefunction init():void{?
  16. varlabel:Label = newLabel();?
  17. label.text= "Hello world";?
  18. titleWindow= newTitleWindow();?
  19. titleWindow= TitleWindow(PopUpManager.createPopUp(this,TitleWindow,true));?
  20. titleWindow.title= "Custom title";?
  21. titleWindow.showCloseButton= true;?
  22. titleWindow.width= 240;?
  23. titleWindow.height= 180;?
  24. titleWindow.addChild(label);?
  25. titleWindow.addEventListener(CloseEvent.CLOSE,titleWindow_close);?
  26. PopUpManager.centerPopUp(titleWindow);?
  27. }?
  28. privatefunction titleWindow_close(evt:CloseEvent):void{?
  29. PopUpManager.removePopUp(titleWindow);?
  30. }?
  31. ]]>?
  32. </mx:Script>?
  33. <mx:Button label="LaunchTitleWindow" click="init()"/>?
  34. </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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读