Flex 中父窗口和子窗口的数据交换的实现如下.
1 在Flex2中弹出式窗口的API如下
Package : mx.managers
Class : PopUpManager
Methods : addPopUp(window:IFlexDisplayObject, parent:DisplayObject, modal:Boolean = false, childList:String = null):void
参数解释:
window : 要弹出的对象,这对象必须实现了IFlexDisplayObject接口,比如TitleWindow.
parent : 子窗口的父窗口对象.
modal : 模式弹出(true)还是非模式弹出(false).
childList : 弹出式对象在那个对象下弹出.
PopUpManagerChildList.APPLICATION
PopUpManagerChildList.POPUP
PopUpManagerChildList.PARENT (默认).
2 实例
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
import com.demo.PersonVO;
import mx.events.ItemClickEvent;
import mx.collections.ArrayCollection;
import mx.managers.PopUpManager;
[Bindable]
private var testDataSource : ArrayCollection = new ArrayCollection(
[ {id : 1 ,name :"zhangsan",language : "java"},
{id : 2 ,name :"lisi",language : "c++"},
{id : 3 ,name :"qianwu",language : "vb"},
{id : 4 ,name :"xiaohong",language : "pb"},
{id : 5 ,name :"xiaoming",language : "perl"},
])
private function showDetailPersonInfo(event : ListEvent) : void
{
var personVO : PersonVO =new PersonVO();
personVO.id = event.currentTarget.selectedItem.id
personVO.name = event.currentTarget.selectedItem.name;
personVO.language = event.currentTarget.selectedItem.language;
//hard code the detail person information
personVO.email = "test12638@163.com"
personVO.married = false;
personVO.workYears = "3 years"
var personPopUpWindow : PersonInfomationPopWindow = new PersonInfomationPopWindow();
personPopUpWindow.personVO = personVO;
PopUpManager.addPopUp(personPopUpWindow,this,true);
PopUpManager.centerPopUp(personPopUpWindow);
}
]]>
</mx:Script>
<mx:DataGrid dataProvider="{testDataSource}" width="100%" height="100%" itemClick="showDetailPersonInfo(event)">
<mx:columns>
<mx:DataGridColumn dataField="id" headerText="编号" />
<mx:DataGridColumn dataField="name" headerText="名字" />
<mx:DataGridColumn dataField="language" headerText="开发语言" />
</mx:columns>
</mx:DataGrid>
</mx:Application>
------------------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow
xmlns:mx="http://www.adobe.com/2006/mxml"
width="400"
height="300"
showCloseButton="true"
close="PopUpManager.removePopUp(this)">
<mx:VBox width="400" height="200" paddingTop="10" >
<mx:HBox width="100%" paddingLeft="10">
<mx:Label width="40%" text="id:"/>
<mx:Label text="{personVO.id}"/>
</mx:HBox>
<mx:HBox width="100%" paddingLeft="10">
<mx:Label width="40%" text="name:"/>
<mx:Label text="{personVO.name}"/>
</mx:HBox>
<mx:HBox width="100%" paddingLeft="10">
<mx:Label width="40%" text="language:"/>
<mx:Label text="{personVO.language}"/>
</mx:HBox>
<mx:HBox width="100%" paddingLeft="10">
<mx:Label width="40%" text="workYears:"/>
<mx:Label text="{personVO.workYears}"/>
</mx:HBox>
<mx:HBox width="100%" paddingLeft="10">
<mx:Label width="40%" text="married:"/>
<mx:Label text="{personVO.married}"/>
</mx:HBox>
</mx:VBox>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import com.demo.PersonVO;
[Bindable]
public var personVO : PersonVO = null;]]>
</mx:Script>
</mx:TitleWindow>
-------------------------------------------
package com.demo
{
[Bindable]
public class PersonVO
{
public var id : String = "";
public var name : String = "";
public var language : String = "";
public var email : String = "";
public var workYears : String = "";
public var married : Boolean = false;
}
}
分享到:
相关推荐
在Flex与Java交换数据时,通常需要以下步骤: 1. **设置环境**:确保你有Apache BlazeDS或Adobe LiveCycle Data Services等中间件,它们提供了AMF通道,使得Flex与Java能够通过HTTP或WebSocket进行通信。 2. **...
3. **窗口间通信**:在文件名“组间通信的传输参数.rar”中,可能包含了关于不同Flex窗口之间数据交换的示例。在Flex应用中,如果需要在多个窗口之间传递数据,可以使用Event Bus(事件总线)、LocalConnection对象...
父子窗口的相互调用是Flex应用开发中常见的需求,特别是当一个应用中需要多个子窗口与父窗口交互数据时。 ### 父子窗口相互调用的设计思路: 1. **子窗口调用父窗口的方法**:在子窗口需要调用父窗口函数时,子...
3. **公共属性**:主窗口和弹出窗口可以共享公共属性或方法来交换数据。例如,弹出窗口可以设置一个公开的方法来接收数据,然后由主窗口调用这个方法。 4. **数据绑定**:如果数据模型是全局可访问的,比如使用...
AMF(Action Message Format)是Adobe开发的一种二进制数据交换格式,主要用于提高Flex和服务器之间的通信效率。本教程将详细介绍如何抓取使用AMF协议的Flex页面数据,并涉及模拟登录和页面抓取的相关知识。 1. **...
- Ajax(Asynchronous JavaScript and XML)非同步JavaScript和XML,允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。在Flex中,我们可以使用URLLoader类来实现类似Ajax的效果,发送异步HTTP请求...
Flex4 AIR自定义窗口是一种高级的用户界面设计技术,它允许开发者创建出具有独特特性和交互体验的应用程序。在本文中,我们将深入探讨Flex4和Adobe Integrated Runtime (AIR)如何结合,实现自定义窗口功能,包括窗口...
在本文中,我们将深入探讨如何在Flex环境中实现一个具有autocomplete(自动补全)功能的弹出窗口选择器。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),它允许开发者创建交互性强、用户...
Flex框架还提供了一套强大的网络通信工具,使得Flex应用程序能够与后端服务器进行数据交换。Flex支持多种数据格式,包括JSON、XML、AMF(Adobe Message Format)等,这使得它能够与各种服务器端技术无缝集成。 Flex...
使用 Flex 4.5 访问数据是构建动态应用程序的重要组成部分,它提供了多种技术来实现与后端服务的交互,如 HTTPService、WebService 和 RemoteObject 组件。 Flex 技术在数据访问方面提供了一种不同于传统基于 HTML ...
在本场景中,我们讨论的是如何在Flex 4中利用Myeclipse 9.0集成开发环境,从MySQL数据库中获取数据,并通过DataGrid组件在Flex页面上展示这些数据。这个过程涉及到多个技术栈,包括Java、Mysql数据库、Tomcat服务器...
这个“Flex模仿WINDOWS窗口”的示例是利用Flex 3.0的功能来创建一个类似Windows操作系统界面的用户界面。在本文中,我们将深入探讨Flex 3.0的关键特性和如何利用它们来实现这一目标。 1. Flex 3.0框架:Flex 3.0是...
本篇将详细讲解如何在Flex中实现窗口托盘和全屏功能。 首先,让我们关注"窗口托盘"这一概念。在桌面应用程序中,窗口托盘通常指的是系统任务栏上的一个小图标,当用户最小化程序窗口时,程序会缩到托盘区,而不是...
在Flex中,数据可视化组件是用于创建各种图表和图形的工具,使开发者能够将复杂的数据转化为易于理解的视觉表示。本实例源码提供了对数据可视化的深入理解和实际应用。 首先,我们要了解Flex中的数据绑定机制。在...
3. ** BlazeDS 和 LiveCycle Data Services (LCDS)**:这两者是Adobe提供的中间件,它们提供AMF协议,允许Flex应用程序与Java后端高效地交换数据。AMF是一种二进制格式,相比XML或JSON,它能提供更快的数据传输速度...
Flex MDI(Multiple Document Interface)是一种在Flex应用中实现多文档界面的技术,它允许用户在一个主窗口中同时打开和操作多个子窗口。Flex是Adobe公司推出的一种基于ActionScript的开源框架,主要用于构建富...
为了使数据呈现更加灵活且高效,通常会采用XML作为数据交换格式,这是因为XML具备良好的可读性和扩展性,能够方便地被解析与处理。 #### XML在Flex中的应用 Flex中的Tree组件支持直接加载XML文件作为数据源。这种...