- 浏览: 594327 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
liugang_ok:
zhao_rock 写道看到这篇文章时已经是2015年11月2 ...
毕业三年之际写给可能迷茫的你我 -
ning2-eye:
...
2015年总结和2016年计划 -
sxdtzhaoxinguo:
我竟然看完了,很受启发!
2015年总结和2016年计划 -
hottymg:
...
2015年总结和2016年计划 -
hangzhoujava:
伪命题很多,比如有许多的上市公司还不如未上市公司,大家心里还是 ...
2015年总结和2016年计划
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/
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);
}
}
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中调用js完成退出和全屏等功能
2013-11-06 11:39 12861、退出 在Flex中调用js的代码为 ExternalIn ... -
Flex浏览器标题中文乱码&AS调JS传参中文乱码
2013-09-18 18:27 33331、Flex中设置标题栏有两种方式,一种是在Applicati ... -
Flex Builder4.5 自动import包
2013-05-03 11:11 1668打开“首选参数” >> Flash Builder ... -
只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源
2013-01-11 11:48 4756在没有网络环境下的本地文件 目前在用Flex Build ... -
Flash AS3[转载]Error #2037: 函数调用序列不正确,或前面的调用不成功。
2012-11-05 16:58 1925Error #2037: 函数调用序列不正确,或前面的调用不成 ... -
DataGrid的一些关键属性
2012-10-16 15:36 1604DataGrid控件提供以下功能: 列可以具有不同宽度或同一 ... -
RIA/FLASH/FLEX
2012-06-01 14:29 1163RIA是macromedia在2004年提 ... -
The entity name must immediately follow the '&' in the entity reference.
2012-05-23 17:20 8370在flex中出现上述错误,是因为不识别&标识符,需要将 ... -
Flash Builder Default Browser(默认浏览器)
2012-04-18 11:09 1353菜单栏:Window->Preferences-> ... -
自定义事件实例
2012-03-27 16:28 1096重新回顾下自定义事件: 1 在派生组件中声明metadata元 ... -
Flex+Java+BlazeDS多文件上传
2012-03-12 23:13 2735Flex文件上传功能,后台服务器管理用Java,通信工具Bla ... -
利用java 后台导出Flex DataGrid为Excel
2011-12-05 17:35 3444利用java服务器端导出datagrid数据。附件两个项目分别 ... -
提高flex应用性能方法(二)
2011-11-21 11:48 29791. 不要使用new操作符创建数组,应使用 var a = ... -
提高flex应用性能方法(一)
2011-11-21 11:46 2845在RIA应用开发过程中,性能一直是我们关注的一个重点;生成sw ... -
Flex遍历ValueObject对象
2011-10-20 18:46 1960//_menu 为遍历对象 ... -
在as中给itemRenderer属性赋值
2011-09-23 11:48 1411首先申明一个ClassFactory类型的对象,将自定义组件置 ... -
flex记住密码等操作
2011-09-16 16:14 25731 在密码正确的情况下,如果“记住密码”是选中的,那么将用户名 ... -
日期的int变量小于10时补0
2011-09-15 17:41 1984很简单,就是用DateFormatter类实现 <Dat ... -
Flex Tree展开所有或某个节点
2011-09-14 14:23 6989flex Tree展开方法 1 tree.expandChil ... -
点击DataGrid标题栏触发事件
2011-09-06 14:48 1461在<mx:DataGrid headerRelease= ...
相关推荐
在Flex中,我们可以使用`PopUpManager`类来创建和管理弹出窗口。 创建弹出窗口的第一步是定义一个按钮组件。在MXML文件中,可以这样声明一个按钮: ```xml 打开弹出窗口" click="openPopup(event)"/> ``` 这里,`...
在Flex中实现自动弹出窗口,我们通常会使用`PopUpManager`类,这是一个核心的Flex组件,用于管理屏幕上的浮动组件。 **1. 右下角弹出窗口** 要实现在屏幕右下角弹出窗口,我们需要做以下几步: - 创建弹出窗口...
Flex中的`PopUpManager`是Adobe Flex SDK提供的一种服务,用于管理应用程序中的弹出窗口(如对话框或菜单)。这个类对于创建具有复杂层级关系的用户界面非常有用,因为它允许你方便地添加、移除和控制弹出内容的显示...
在Flex中,我们可以使用`PopUpManager`类来创建和管理弹出窗口。弹出窗口与主窗口之间的数据通信可以通过事件监听或者依赖注入来实现。例如,当用户选择列表中的一个项时,可以触发一个事件,将选中项的数据传递给弹...
在Flex中,应用通常包含一个主程序(通常是Application类的实例),以及可能的多个弹出窗口(如PopUpManager创建的弹出层或WindowedApplication)。这些组件形成了一个层次结构,允许父组件与子组件之间进行通信。 ...
在Flex中,我们可以使用PopUpManager类来创建和管理弹出窗口。这个类提供了打开和关闭窗口,以及调整窗口大小和位置的方法。通过实例化PopUpManager并传递组件作为参数,可以将任何Flex组件作为弹出窗口显示。 实现...
2. 使用`PopUpManager.addPopUp`方法将新创建的弹出窗口添加到Flex应用程序中,并通过`this`关键字指向父容器,`true`参数设置为模态窗口。 3. 通过`PopUpManager.centerPopUp`方法将弹出窗口居中显示在屏幕上。 4...
模仿Flex中的PopUpManager类写的一个应用于AIR中的弹出窗口管理类,包含完整的FlashBuilder4.6测试项目。 存在问题: 1、修改舞台尺寸后,生成的遮罩可能无法正确的覆盖整个舞台 2、主窗口的关闭、最大化、最小化...
4. **显示自定义组件**:根据需要,你可以使用`PopUpManager`类将自定义组件以弹出窗口的形式显示出来: ```actionscript var customComponent:CustomComponent = new CustomComponent(); PopUpManager.addPopUp...
PopUpManager类是用于管理Flex中的弹出窗口的一个类。它提供了一些方法来添加、移除和管理弹出窗口。例如,在本例中,我们就使用了"PopUpManager.addPopUp(wnd,this,false);"方法来以非模态方式弹出子窗口。 知识点...
### 做Flex项目的小技巧详解 #### 一、弹出新窗口 ...这些技巧涵盖了Flex开发中的常见问题,包括弹出窗口、多视图切换、服务器交互、数据处理等方面,对于提升Flex应用程序的质量和性能具有重要意义。
可以使用`PopUpManager`类来管理弹出窗口的生命周期。 5. **自定义样式和交互**: Flex允许我们自定义柱状图的外观和行为。可以通过CSS样式表或直接在MXML代码中设置颜色、边框、渐变等属性。此外,还可以添加提示...
在Flex中,PopupManager类负责管理这些弹出窗口,而动画效果则可以通过添加自定义的打开和关闭动画来增强用户体验。开发者可能通过改变Popup的大小、位置,甚至添加旋转等变换来实现各种炫酷的弹出效果。 总的来说...
PopUpManager允许我们在应用程序中创建、显示和管理弹出窗口,包括将Panel转换为模态或非模态窗口。 7. 事件处理:在拖动过程中,需要监听DragEvent和MouseEvent,例如DRAG_START、DRAG、DRAG_END等,以执行相应的...
其次,**PopupManager**是Flex中用于管理弹出窗口的类。它可以用来创建和控制弹出对话框,提供用户与应用进行更深入交互的方式。PopupManager允许我们创建自定义组件并以模态或非模态方式显示它们,这在很多场景下...
- PopUpManager是Flex提供的一个工具类,用于管理弹出窗口(如对话框、菜单等)的生命周期。在这个案例中,它可能被用来实现图片的预览功能。 - 当用户点击某个图片时,可能通过PopUpManager创建一个新的窗口或者...
在Flex框架中,实现主页面与弹出窗口之间的数据交互是一项常见且实用的功能。本文将深入解析如何利用TitleWindow组件进行数据传输,包括从主应用向弹出窗口传递数据以及反之亦然的过程。通过实际代码示例,我们将...
- **弹出窗口**:使用`PopupManager`类可以创建弹出窗口。 - **TitleWindow组件**:一个带有标题栏的窗口,可以移动和关闭。 - **ViewStack组件**:用于实现多个视图之间的切换。 - **表单Form**:提供了一种结构化...
使用`PopUpManager.centerPopUp()`方法可以将弹出窗口居中显示,例如`PopUpManager.createPopUp(DisplayObject(Application.application), TitleWindow, true);` 以上就是关于FLEX的常见问题及解决方案的详细总结...
Flex提供了PopupManager类来创建和管理弹出窗口。弹出窗口可以被用来显示上下文菜单、提示信息或者作为模态对话框。 #### 9. TitleWindow 组件 TitleWindow组件是一个可以拖动的窗口,通常用作对话框或者工具窗口...