flex类的深复制(扩展)
1:假如你要深复制一个类A
public class A
{
public var vo:B
}
你首先要做的是注册类,例如:
public static function registerClass():void
{
//把子类注册
PackUtil.registerClass(B);
}
//接下来就是克隆:
var cloneA:A=clone(A);
cloneA就是我们想要的对象了。
//****************克隆的实现方法***********************//
//克隆一个vo对象
public static function clone(o:Object):Object
{
var qClassName:String = getQualifiedClassName(o);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
var copier : ByteArray = new ByteArray();
copier.writeObject(o);
copier.position = 0;
return copier.readObject();
}
//向amf注册类,以便反转的时候能找到该类
public static function registerClass(classObj:Object):void
{
var qClassName:String = getQualifiedClassName(classObj);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
}
相关文档:
此例展示了如何在 Flex 4 中为 Halo 控件设置旧的 Halo 皮肤,而不是新的 Spark 皮肤。
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.slsay.com/archives/131 -->
<s:Application name="Spark_Halo_theme_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
&nbs ......
有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTML要求的不同有以下两种方法:
1、Flex文本组件(Label、Text、TextArea)的htmlText属性支持一些基本的HTML代码,例如:
<mx:TextArea>
<mx:htmlText>
<![CDATA[
<p alig ......
用FLEX如何取浏览器地址栏中的域名信息?我查找到两种方法:
第一种方法是用ExternalInterface.call('window.location.href.toString'),它的值就是地址栏中的域名
有以下几点需要注意:
1.当Flash和加载它的网页不同域时,需要在网页在 PARAM 或 EMBED 标签中进行设置AllowScriptAccess 为“always”
关于 ......
用URLLoader加载XML,然后将data转化为ByteArray
用byteArray.readMultiByte(bytes.length,"utf-8")
然后将转化后的字符串再强制转化为XML
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.Binary;
var urlRequest:URLRequest = new URLRequest(source);
loader.addEventListener( ......