`
a3mao
  • 浏览: 559999 次
  • 性别: 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 学习资料1-4全

    flex学习资料 ,可以看看。四个pdf文档,从零开始学习flex

    Flex课程学习(附带源码)

    6、控件 Button、CheckBox、ColorPicker、DataGrid、DateField、HSlider、HorizontalList、Image、LinkButton Label、List MumericStepper、PopUpButton、ProgressBar、RadioButton、RichTextEditor、Text、...

    flex4 最全的 学习文档

    非常全的flex 学习文档 目录 第 1 章 : 关于 Flash Builder 使用 Flash Builder 可以完成的工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    Flex AS3学习笔记总结

    第一章 Flex简介和开发环境 第二章 AS3语法 第三章 事件驱动 第四章 自定义事件 第五章 数据绑定 第六章 样式表和主题 .....实习之

    Flex 3.0学习指南

    由于文件比较大分割为了6各部分 Flex 3.0学习指南 Flex完全手册的电子教程

    Flex 3.0学习指南1

    flex学习指南,内容很详细,这是第一部分,共6部分

    Flex 3.0学习指南2

    flex学习指南,内容很详细,这是第二部分,共6部分

    Flex 3.0学习指南part 6

    Flex 3.0学习指南 Flex完全手册的电子教程 由于文件比较大分割为了6各部分 每一部分也可单独下载

    Flex AIR之旅--第六章 编写用户登录界面

    程序缘 Flex AIR之旅-第六章 编写用户登录界面,用于学习借鉴的Flex Air的工程源码,导入flash builder4.6即可。已实现一般C/S结构展现界面的实现,如菜单、快捷工具栏、主窗口等。

    Flex 3.0学习指南part 2

    由于文件比较大分割为了6各部分 Flex 3.0学习指南 Flex完全手册的电子教程

    Flex4权威指南+随书源代码+Flexbuild使用工具

    本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本资源内容包括: 1. ...

    Flex 3.0学习指南part 4

    Flex 3.0学习指南 Flex完全手册的电子教程 由于文件比较大分割为了6各部分 每一部分也可单独下载

    flex企业开发前端框架FLEX_FEAF.rar

    | 后web2.0时代全面学习【Flex】技术的飞帆 | 后web2.0时代快速构建企业级应用的飞帆 |______________________________________________ 主要特点: 纯Flex4.0构建,完全跨平台 桌面MDI模式的多窗口操作...

    Flex 3.0学习指南part 3

    Flex 3.0学习指南 Flex完全手册的电子教程 由于文件比较大分割为了6各部分 每一部分也可单独下载

    Flex 3.0学习指南part 5

    Flex 3.0学习指南 Flex完全手册的电子教程 由于文件比较大分割为了6各部分 每一部分也可单独下载

    FLEX从入门到精通.pdf

     5.1.2 学习Flex和获取帮助  5.2 FlexBuilder3工作台  5.2.1 工作区  5.2.2 创建和交换工作区  5.2.3 工作区配置  5.2.4 编辑器  5.2.5 视图  5.2.6 透视图  5.2.7 创建自定义透视图  5.3 Flex...

    Flex新手教程_入门级学习笔记

    6.2配置BlazeDS,并使之正常运作 34 6.3创建一个Java项目,用来充当Server 34 6.4配置BlazeDS 35 6.5 新建一个Flex应用程序,测试连接 35 6.6 实际应用 37 7 Cairngrom框架 38 8 实例:Simple Note Management 40 8.1...

    Flex 3 基础教程(10)

    Flex 3 基础教程(10) ...本资源摘要信息提供了 Flex 3 基础教程的详细内容,涵盖了 AMFPHP 的使用、环境搭建、服务端的设置、错误处理等多个方面,对于学习 Flex 3 和 AMFPHP 的开发者具有重要的参考价值。

    Flex 4 手机学习文档和3个小例子

    Flex 4 手机学习文档和3个小例子。很不错的学习文档,新手必备~!

Global site tag (gtag.js) - Google Analytics