自定义事件:
一个完整的事件类应该包括:
- 若干事件类型字符串常量。
- 自定义的变量。
- 合适的构造函数。
- 覆盖clone()方法。
- 覆盖toString()方法。
?
?
package com.insprise.dept.event
{
/**
* when Operation Success, and it's responder can dispatch this event
*/
public class OperationResultEvent extends Event
{
public static const OPERATION_COMPLETE:String = "OperationComplete";
private var _resultData:Object;
/**
* Constructor
*/
public function OperationResultEvent(resultData_:Object) {
super(OPERATION_COMPLETE, false, false);
_resultData = resultData_;
}
/**
* Getter
*/
public function get resultData():Object {
return _resultData;
}
/**
* Override - MUST - 必须重写, 否则在clone时将不存在自定义的field
*/
override public function clone():Event {
return new OperationResultEvent(_resultData);
}
/**
* OPTIONAL - 可选
*/
override public function toString():String {
return formatToString(OPERATION_COMPLETE, "_resultData");
}
}//end of class
}//end of package
?
附注说明:
?
formatToString () 方法??
public function formatToString(className:String, ... arguments):String
语言版本 :? ActionScript 3.0
RuntimeVersions:? AIR 1.0, Flash Player 9
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。建议覆盖 toString() 方法,但不是必须覆盖。
class PingEvent extends Event {
var URL:String;
public override function toString():String {
return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL");
}
}
?
参数
className:String ― 自定义 Event 类的名称。在上面的示例中,className 参数为 PingEvent。
... arguments ― Event 类的属性和在自定义 Event 类中添加的属性。在上面的示例中,...arguments 参数包括 type、bubbles、cancelable、eventPhase 和 URL。
返回? String ― 自定义 Event 类的名称和 ...arguments 参数的字符串值。
注意:...arguments 参数中指定的属性必须都是公共属性。
?
1 楼
zwnJava
2010-04-06