Flex Timer 定时器
flash.util.Timer类允许通过添加时间事件或延时来调用方法。通过Timer构造器创建实例对象,传递一个毫秒数字作为构造参数作为间隔时间,下面的例子实例化一个Timer对象每个1秒钟发出事件信号:?
var
?timer.Timer?
=
?
new
?Timer(
1000
);?
? ??? 一旦创建了Timer实例,下一步必须添加一个事件监听器来处理发出的事件,Timer对象发出一个falsh.event.TimerEvent事件,它是根据设置的间隔时间或延时时间定时发出。下面的代码定义了一个事件监听,调用onTimer()方法作为处理函数:? timer.addEventListener(TimerEvent.TIMER,?onTimer);?
???? function ?onTimer(event:TimerEvent): void {? ?????????trace( " on?timer );? ????}? ? ?timer.start();?
?
?timer:Timer?
,?
5
);?
?
5000
1
);?
timer.addEventListener(TimerEvent.TIMER,?deferredMethod);? timer.start();? ? Flex中Timer用法一例:计时器 ?
<?
xml?version
=
"
1.0
?encoding
utf-8
?>
????
< mx:Application?xmlns:mx http://www.adobe.com/2006/mxml ???? ????????layout vertical ???? ????????verticalAlign middle ???? ????????backgroundColor white ???? ????????creationComplete init() ?viewSourceURL srcview/index.html > ???? ?? ???? mx:Script ???? ???????? <! [CDATA[???? ????????????import?flash.utils.Timer;???? ????????????import?flash.events.TimerEvent;???? ?? ????????????private?const?MIN_MASK:String? ? 00 ;???? ????????????private?const?SEC_MASK:String? ;???? ????????????private?const?MS_MASK:String? 000 ;???? ????????????private?const?TIMER_INTERVAL: int 10 ;???? ?? ????????????private? var ?baseTimer: ?t:Timer;???? ?? ????????????private? function ?init(): void ?{???? ????????????????t? new ?Timer(TIMER_INTERVAL);???? ????????????????t.addEventListener(TimerEvent.TIMER,?updateTimer);???? ????????????}???? ?? ????????????private? ?updateTimer(evt:TimerEvent): ?{???? ???????????????? ?d:Date? ?Date(getTimer()? - ?baseTimer);???? ???????????????? ?min:String? ?(MIN_MASK? + ?d.minutes).substr( MIN_MASK.length);???? ???????????????? ?sec:String? ?(SEC_MASK? ?d.seconds).substr( SEC_MASK.length);???? ???????????????? ?ms:String? ?(MS_MASK? ?d.milliseconds).substr( MS_MASK.length);???? ????????????????counter.text? ?String(min? : ?sec? . ?ms);???? ????????????}???? ?? ????????????private? ?startTimer(): ?{???? ????????????????baseTimer? ?getTimer();???? ????????????????t.start();???? ????????????}???? ?? ????????????private? ?stopTimer(): ?{???? ????????????????t.stop();???? ????????????}???? ????????]] ???? ???? / mx:Script>???? ?? ???? mx:ApplicationControlBar?dock true mx:Button?label Start?timer ?click startTimer() >???? ???????? Stop?timer stopTimer() ???? mx:ApplicationControlBar>??????? mx:Label?id counter ?fontSize 96 ?? mx:Application>??? ? ? Flex中Timer用法一例:上传文件(用时)计时器 ?
?
? ????????layout ? ????????verticalAlign ? ????????backgroundColor ? ????????creationComplete init(); ? ?? ???? ? ???????? [CDATA[? ????????????import?flash.net.FileReference;? ????????????import?flash.net.URLRequestMethod;? ????????????import?mx.controls.Alert;? ????????????import?mx.utils.StringUtil;? ?? ????????????private? ?fileRef:FileReference;? ????????????private? ?urlVars:URLVariables;? ????????????private? ?urlReq:URLRequest;? ????????????private? ?startTimer:Number;? ????????????private? ?timer:Timer;? ?? ????????????private? ?{? ????????????????fileRef? ?FileReference();? ????????????????fileRef.addEventListener(Event.SELECT,?fileRef_select);? ????????????????fileRef.addEventListener(Event.COMPLETE,?fileRef_complete);? ????????????????fileRef.addEventListener(IOErrorEvent.IO_ERROR,?fileRef_ioError);? ?? ????????????????urlVars? ?URLVariables();? ????????????????urlVars.userID? 94103 ;? ????????????????urlVars.fpVersion? ?flash.system.Capabilities.version;? ?? ????????????????urlReq? ?URLRequest();? ????????????????urlReq.method? ?URLRequestMethod.POST;? ????????????????urlReq.data? ?urlVars;? ????????????????urlReq.url? http://localhost:8300/fileref/uploader.aspx ;? ?? ????????????????timer? ?Timer( 100 );? ????????????????timer.addEventListener(TimerEvent.TIMER,?onTimer);? ????????????}? ?? ????????????private? ?onTimer(evt:TimerEvent): ?{? ????????????????lbl.text? ?String(getTimer()? ?startTimer)? ?ms ;? ????????????}? ?? ????????????private? ?start(): ?{? ????????????????fileRef.browse();? ????????????}? ?? ????????????private? ?fileRef_select(evt:Event): ?{? ????????????????fileRef.upload(urlReq);? ????????????????startTimer? ?getTimer();? ????????????????timer.start();? ????????????}? ?? ????????????private? ?fileRef_complete(evt:Event): ?{? ????????????????Alert.show(evt.toString(),?evt.type);? ????????????????timer.stop();? ????????????}? ?? ????????????private? ?fileRef_ioError(evt:IOErrorEvent): ?{? ????????????????Alert.show(evt.text,?evt.type);? ????????????????timer.stop();? ????????????}? ????????]] ? ???? mx:Script>? upload start(); >? lbl mx:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |