`
a3mao
  • 浏览: 562964 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex学习之六

    博客分类:
  • Flex
阅读更多
在flex中使用弹出窗口。flex中的弹出窗口都使用PopUpManager来实现。
网上有例子:http://blog.minidx.com/2008/07/28/1144.html
PopUpManager有个方法:createPopUp就能创建一个弹出窗口。这个方法有三个参数:第一个是父窗口对象,第二个是子窗口对象,第三个是窗口模式。

例子如下:
1、TestFlex.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
    import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.managers.PopUpManager;

private function openWindows():void
{
   var titleWindowInstance:OpenWin =   
               OpenWin(PopUpManager.createPopUp(this, OpenWin, false));  
    
}
]]>
</mx:Script>
<mx:Button label="弹出窗口" click="openWindows();"/>
</mx:Application>


2、OpenWin.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
showCloseButton="true" close="closeWindow()" layout="vertical" width="400"
height="300">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;

private function closeWindow():void
{
PopUpManager.removePopUp(this);
}
]]>
</mx:Script>
<mx:Panel>
<mx:Label text="I'm a child window" />
</mx:Panel>
</mx:TitleWindow>

OpenWin.mxml 文件内容必须是TitleWindow 类型的,这个是createPopUp方法要求的。

如果我们想把父窗口的值传递到子窗口上,则要先要在子窗口中新建public的变量:
[Bindable]
public var headTitle:String;//窗口名称

在父窗口中我们通过新构建的子窗口对象来操作这个变量即可:
titleWindowInstance.headTitle = "这个是子窗口";

如果我们想把子窗口中的值传给父窗口,则稍微麻烦点:
1、在子窗口中定义父窗口对象
2、定义回调函数变量
3、在父窗口中给上述变量设置变量值。
4、定义回调函数的实现。

经过修改后的代码:

TestFlex.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
    import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.managers.PopUpManager;
import mx.controls.Alert;

private function openWindows():void
{
   var titleWindowInstance:OpenWin =   
           OpenWin(PopUpManager.createPopUp(this, OpenWin, false));  
        titleWindowInstance.headTitle = "这个是子窗口";
        titleWindowInstance.callbackFunction = callBack;
        titleWindowInstance.mainApp = this;
}

private function callBack(str:String):void
{
Alert.show("receive data from child: "+str,"info");
}
]]>
</mx:Script>
<mx:Button label="弹出窗口" click="openWindows();"/>
</mx:Application>

2、OpenWin.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
showCloseButton="true" close="closeWindow()" layout="vertical" width="400"
height="300">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;

[Bindable]
public var headTitle:String;//窗口名称
[Bindable]
public var mainApp:Object=null;//主窗口对象
    [Bindable]
public var callbackFunction:Function; //回调函数

private function closeWindow():void
{
PopUpManager.removePopUp(this);
}

private function ok():void
{
  if(TextId.text!=null)
    callbackFunction.call(mainApp,TextId.text);
}

]]>
</mx:Script>
    <mx:VBox>
    <mx:Label text="{headTitle}"/>
<mx:Label text="I'm a child window" />
<mx:TextInput width="100"  id="TextId"  text=""/>
<mx:Button label="确定" click="ok()" />
    </mx:VBox>

</mx:TitleWindow>


分享到:
评论

相关推荐

    flex学习笔记 flex学习总结 flex学习教程

    本教程是作者精心编写的Flex学习资料,适合初学者入门,通过图文并茂的方式,帮助读者快速掌握Flex的基本概念和核心技能。 1. **Flex基础**:Flex提供了MXML和ActionScript两种编程方式。MXML是一种声明式语言,...

    Flex3学习指南-是初学者学习Flex必备资料1

    6. **数据绑定**:Flex中的数据绑定允许UI元素与数据源直接关联,当数据源变化时,UI会自动更新,反之亦然。这是Flex实现动态UI的关键特性。 7. **事件处理**:在Flex中,事件驱动编程是常见的模式,用户与UI交互时...

    flex3.0学习指南

    Flex 3.0 学习指南是一份专为想要深入理解和掌握Adobe Flex 3.0技术的初学者或开发者设计的教程。Flex是基于ActionScript 3.0和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。这份指南旨在帮助你从零...

    flex4 学习资料

    本学习资料集全面覆盖了Flex4的基础与进阶知识,是学习Flex4开发的理想资源。 1. **基础概念** - **ActionScript 3.0**:Flex4的核心编程语言,具有面向对象的特性,性能比Flex3中的ActionScript 2.0显著提升。 -...

    Flex学习相关资料

    本压缩包文件包含了一系列Flex学习的相关资料,帮助初学者和进阶者深入理解Flex技术。 1. **Flex基础概念** - **ActionScript**:Flex的主要编程语言,是一种基于ECMAScript的脚本语言,用于实现动态效果和控制...

    Flex中文帮助 学习Flex的好资料

    4. **数据绑定**:Flex中的数据绑定是其强大特性之一,它允许UI组件的状态与应用程序数据自动同步。这大大简化了代码,提高了开发效率。 5. **事件驱动编程**:Flex应用程序是基于事件驱动的,用户操作或其他系统...

    Flex学习PPT_wildh

    本资料“Flex学习PPT_wildh”显然是一个针对初学者的教程,旨在帮助用户快速入门Flex编程。下面我们将深入探讨Flex的基本概念、核心组件、开发环境以及其在RIA开发中的应用。 1. **Flex概述**:Flex是一种基于XML的...

    flex帮助文档--(flex学习文档)

    这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...

    Adobe flex 学习

    Adobe Flex 是一个开源框架,主要用于构建富...从MXML和ActionScript的基础到事件处理的深入理解,都是Flex学习者必须掌握的关键技能。通过不断实践和学习,开发者可以利用Flex开发出高效、美观且互动性强的应用程序。

    flex4学习资料

    6. **数据绑定和数据服务**:Flex 4提供强大的数据绑定机制,简化了UI和后台数据之间的连接。资料可能介绍如何使用AMF(Action Message Format)与服务器进行通信,以及如何使用BlazeDS或LiveCycle Data Services...

    flex学习小记录

    标题中的“flex学习小记录”表明这是一份关于Adobe Flex技术的学习笔记或教程。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),特别是在Flash Player和Adobe AIR上运行的应用。它基于ActionScript语言,...

    flex 学习详细笔记

    6. **组件体系结构**:Flex包含一组丰富的预定义组件,如按钮、文本框、列表等,这些组件可以轻松组合以构建复杂的UI。开发者还可以自定义组件以满足特定需求。 7. **布局管理器**:Flex提供了多种布局管理器,如...

    FLEX学习资料,从零基础开始学FLEX

    **FLEX学习资料详解** FLEX,全称为Adobe Flex,是一种用于构建富互联网应用程序(RIA)的开源框架,主要用于创建跨平台的用户界面。它基于ActionScript编程语言和MXML标记语言,允许开发者构建功能丰富的交互式Web...

    flex 学习资料1-4全

    这组"flex 学习资料1-4全"涵盖了从基础到进阶的Flex学习内容,通过四个PDF文档提供了全面的学习路径。 1. **基础概念** Flex的基础包括了解ActionScript,它是Flex编程的核心语言,基于ECMAScript。MXML是Flex的...

    与大家分享一下Flex 学习资料 (续)

    标题中的“Flex学习资料(续)”表明这是一个关于Adobe Flex技术的进阶学习资源,Flex是一种用于构建富互联网应用程序(RIA)的框架,基于ActionScript和MXML。它允许开发者创建交互性强、功能丰富的Web应用。 描述...

    flex学习例子,本人学习过程中做的例子

    这个“flex学习例子”压缩包包含了作者在学习Flex过程中的实践项目,旨在帮助其他学习者通过实例来理解Flex的用法和功能。 1. Flex基础:Flex是一个开放源代码的开发框架,主要用于创建交互式、高性能的Web应用程序...

    Flex布局学习资料

    《Flex弹性布局学习总结.docx》可能是作者对Flex布局学习过程的全面总结,包括基础概念、主要属性、使用场景和实际应用案例。文档可能涵盖了以下关键知识点: 1. **基础概念**:Flex容器(flex container)和Flex...

    Flex学习之配置篇-如何在Eclipse中开发Flex

    ### Flex学习之配置篇——如何在Eclipse中开发Flex #### 一、Flex的安装与配置 ##### 1. 安装方式 Flex 的安装有两种主要的方式:直接安装 FlexBuilder 或是在 MyEclipse 下安装 FlexBuilder 插件。推荐后者,...

    Flex3学习指南-是初学者学习Flex必备资料2

    6. **图形和动画**: Flex支持创建丰富的图形和动画效果,通过使用绘图API或组件如Sprite和Shape,可以实现复杂的视觉效果。 7. **数据服务和AMF**: Flex可以轻松地与服务器进行通信,通过HTTP、SOAP或Flash ...

Global site tag (gtag.js) - Google Analytics