`
demojava
  • 浏览: 551531 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex ObjectProxy

 
阅读更多

ObjectProxy 和PropertyChangeEvent 对于类的属性变动添加监听,特别适合动态类的属性变动的监听。

记录日志处理 

<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			import mx.events.PropertyChangeEvent;
			import mx.utils.ObjectProxy;
			import mx.utils.ObjectUtil;
			import mx.utils.StringUtil;
			private var p:ObjectProxy =null;
			private function application1_creationCompleteHandler():void
			{
				 p= new ObjectProxy(btn);
				p.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updateHandler);
			}
			
			private function updateHandler(event:PropertyChangeEvent):void
			{
				var s:String=StringUtil.substitute("属性被修改('{0}', {1}, {2}, {3}, '{4}')",
					event.kind,
					event.property,
					event.oldValue,
					event.newValue,
					event.target.uid);
					area.text=s+event.source.toString();
			}

			protected function btn_clickHandler(event:MouseEvent):void
			{
				btn.label="show demo";
			}
		]]>
	</mx:Script>
	<mx:Button id="btn" label="demo" click="btn_clickHandler(event)" />
	<mx:TextArea id="area"  x="0" y="30" width="418" height="213"/>

  动态类的监听,一样

package com
{
	import mx.events.PropertyChangeEvent;
	import mx.utils.ObjectProxy;
	import mx.utils.StringUtil;
	[Bindable]
	public dynamic class EmployeeRecord 
	{
	}
}

 

import mx.utils.StringUtil;
	import mx.events.PropertyChangeEvent;
	import mx.utils.ObjectProxy;
	import com.EmployeeRecord; 
	private var p:ObjectProxy =null;
private function showProperties():void 
{ 
	var emp:EmployeeRecord = new EmployeeRecord();
	p.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updateHandler);
	p.name = "Peter Griffen"; 
	p.age = 22; 
	p.address = "123 St Peter Blvd, #552"; 
	p.city = "Quahog"; 
	p.state = "NY"; 
	p.zip = "02593"; 
	var displayInfo:Function = function ():String 
	{ 
		var out:String; 
		out = "Employee Record:\n"; 
		out += "Name: " + emp.name + "\n"; 
		out += "Age: " + emp.age + "\n"; 
		out += "Address: " + emp.address + "\n"; 
		out += "City: " + emp.city + "\n"; 
		out += "State: " + emp.state + "\n"; 
		out += "Zip: " + emp.zip + "\n"; 
		return out; 
	} 
} 

private function updateHandler(event:PropertyChangeEvent):void
	{
		var s:String=StringUtil.substitute("属性被修改('{0}', {1}, {2}, {3}, '{4}')",
			event.kind,
			event.property,
			event.oldValue,
			event.newValue,
			event.target.uid);
	}

 

分享到:
评论

相关推荐

    flex3 json官方包

    JSON在Flex3中的使用涉及到两个主要类:`JSON`和`ObjectProxy`。`JSON`类提供了一系列静态方法,如`parse()`和`stringify()`,用于在ActionScript对象和JSON字符串之间进行转换。`parse()`方法接收一个JSON字符串并...

    Flex_JSON_XML.zip_flex

    - **Flex解析JSON**:Flex提供了`ObjectProxy`和`ArrayCollection`来处理JSON数据,可以方便地将JSON对象转换为Flex中的数据结构。 - **Java生成JSON**:Java有许多库支持JSON,如Jackson、Gson、org.json等。这些...

    Flex高级数据绑定实例(界面语言切换)

    3. **ObjectProxy**: `ObjectProxy`是Flex提供的一个特殊类型的对象,它可以作为数据绑定的目标。使用`ObjectProxy`可以提高性能,并支持更复杂的绑定逻辑。本示例中,`langInfo`变量即为`ObjectProxy`类型。 4. **...

    flex 操作XML

    - Flex提供了`mx.utils.ObjectProxy`类和`mx.rpc.xml.XMLUtil`类来处理XML。你可以使用`new XML()`创建一个空的XML对象,并通过`.addChild()`、`.appendChild()`等方法添加元素。 3. **读取本地XML文件**: - ...

    flex 调用websevice的例子

    Flex提供了`ObjectProxy`和`XMLListCollection`等工具类来帮助处理这些数据。 6. **使用HTML模板**:在提供的`html-template`目录中,通常包含Flex应用程序嵌入到HTML页面的方式。这使得Flex应用可以通过浏览器访问...

    Flex试题 .txt

    解决方法是使用ObjectProxy类,它可以充当IEventDispatcher,从而允许在任何对象上进行数据绑定。 ### 8. MVC架构中,AS3时是写在MXML还是AS文件中? 在Flex中,MVC架构被广泛采用,其中MXML用于定义视图,而...

    Flex + LCDS + Java 入门教程

    同时,我们还将讨论数据管理和状态管理,如使用ArrayCollection和ObjectProxy处理数据,以及维护用户会话状态。 此外,教程还会涉及实时通信,如使用LCDS的LiveCycle Collaboration Service实现实时消息传递。这...

    在Flex中使用Json (1)

    在Flex中使用JSON,首先需要了解两个关键的类:`flash.utils.ObjectProxy`和`flash.net.URLLoader`。`ObjectProxy`允许你通过代理方式操作JSON对象,使其更易于访问和处理。`URLLoader`则用于加载远程数据,例如从...

    Flex_Data_Service基础教程

    例如,可导入`mx.rpc.events.ResultEvent`和`mx.rpc.services.ObjectProxy`等类,用于处理远程调用的结果和代理服务器通信。 通过上述步骤,开发者可以初步掌握Flex Data Service的基础使用,构建出简易的分布式...

    Flex 3 基础教程4)

    当 `Model` 中的数据需要作为数据源时,由于其默认为 `Object` 类型,通常需要转换为 `ObjectProxy` 类型以实现绑定。 关于 `Bindable` 标签,它有以下用途: - 当应用于函数(setter 和 getter)时,称为函数级别...

    Flex 对象调用之间的 数据传递 包括 页面调用之间的数据传递 -

    在Flex中,`flash.utils.ByteArray`类可用于数据的二进制操作,而`XML`和`ObjectProxy`则提供了对象和XML之间的转换。 总的来说,Flex中的数据传递是一个复杂而重要的主题,涉及到组件通信、事件处理、数据管理等多...

    java调用openamf实例,把取回的结果转换成list或bean.

    Java调用OpenAMF是一种将Java应用程序与使用Adobe Flex或ActionScript 3的客户端进行通信的方式。OpenAMF是一个开放源代码的AMF(Action Message Format)桥接库,允许跨语言的数据交换,使得Java服务器可以与Flex或...

    AdvancedDataGrid 对sdk3.5不支持,对3.2支持方案(合并单元格)

    有些第三方库或组件,如FlexLib或mx.utils.ObjectProxy,提供了与Flex SDK 3.5兼容的单元格合并功能。这些库通常已经解决了与新版本SDK的兼容性问题,可以作为快速解决的手段。 5. **回退到Flex SDK 3.2**: 如果...

    AS3 JSON 包

    在ActionScript 3(AS3)中,JSON同样扮演着重要的角色,使得AS3可以方便地与服务器进行数据交互,尤其是在Flash或Flex开发中。 在AS3中,处理JSON主要依赖于`flash.utils.ObjectProxy`和`flash.utils.JSON`这两个...

    聊天室(ActionScript 3.0实现)

    通过深入研究这个聊天室项目,你可以提升ActionScript 3.0的编程技能,理解网络通信和实时交互应用的实现原理,这对于从事Flash或Flex开发工作的人来说是非常有价值的。同时,这些基础概念也可以迁移到其他编程语言...

Global site tag (gtag.js) - Google Analytics