Flex Timer 定时器
flash.util.Timer类
flash.util.Timer类允许通过添加时间事件或延时来调用方法。通过Timer构造器创建实例对象,传递一个毫秒数字作为构造参数作为间隔时间,下面的例子实例化一个Timer对象每个1秒钟发出事件信号:
一旦创建了Timer实例,下一步必须添加一个事件监听器来处理发出的事件,Timer对象发出一个falsh.event.TimerEvent事件,它是根据设置的间隔时间或延时时间定时发出。下面的代码定义了一个事件监听,调用onTimer()方法作为处理函数:
function onTimer(event:TimerEvent):void{
trace("on timer");
}
Timer对象不会自动开始,必须调用start()方法启动:
默认情况下只有调用stop()方法才会停下来,不过另一种方法是传递给构造器第二个参数作为运行次数,默认值为0即无限次,下面的例子设定定时器运行5次:
下面的代码设定定时器延时5秒执行deferredMethod()方法:
timer.addEventListener(TimerEvent.TIMER, deferredMethod);
timer.start();
Flex中Timer用法一例:计时器
<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 = "00";
private const MS_MASK:String = "000";
private const TIMER_INTERVAL:int = 10;
private var baseTimer:int;
private var t:Timer;
private function init():void {
t = new Timer(TIMER_INTERVAL);
t.addEventListener(TimerEvent.TIMER, updateTimer);
}
private function updateTimer(evt:TimerEvent):void {
var d:Date = new Date(getTimer() - baseTimer);
var min:String = (MIN_MASK + d.minutes).substr(-MIN_MASK.length);
var sec:String = (SEC_MASK + d.seconds).substr(-SEC_MASK.length);
var ms:String = (MS_MASK + d.milliseconds).substr(-MS_MASK.length);
counter.text = String(min + ":" + sec + "." + ms);
}
private function startTimer():void {
baseTimer = getTimer();
t.start();
}
private function stopTimer():void {
t.stop();
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button label="Start timer" click="startTimer()" />
<mx:Button label="Stop timer" click="stopTimer()" />
</mx:ApplicationControlBar>
<mx:Label id="counter" fontSize="96" />
</mx:Application>
效果图:
Flex中Timer用法一例:上传文件(用时)计时器
代码
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="init();">
<mx:Script>
<![CDATA[
import flash.net.FileReference;
import flash.net.URLRequestMethod;
import mx.controls.Alert;
import mx.utils.StringUtil;
private var fileRef:FileReference;
private var urlVars:URLVariables;
private var urlReq:URLRequest;
private var startTimer:Number;
private var timer:Timer;
private function init():void {
fileRef = new FileReference();
fileRef.addEventListener(Event.SELECT, fileRef_select);
fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, fileRef_ioError);
urlVars = new URLVariables();
urlVars.userID = 94103;
urlVars.fpVersion = flash.system.Capabilities.version;
urlReq = new URLRequest();
urlReq.method = URLRequestMethod.POST;
urlReq.data = urlVars;
urlReq.url = "http://localhost:8300/fileref/uploader.aspx";
timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, onTimer);
}
private function onTimer(evt:TimerEvent):void {
lbl.text = String(getTimer() - startTimer) + " ms";
}
private function start():void {
fileRef.browse();
}
private function fileRef_select(evt:Event):void {
fileRef.upload(urlReq);
startTimer = getTimer();
timer.start();
}
private function fileRef_complete(evt:Event):void {
Alert.show(evt.toString(), evt.type);
timer.stop();
}
private function fileRef_ioError(evt:IOErrorEvent):void {
Alert.show(evt.text, evt.type);
timer.stop();
}
]]>
</mx:Script>
<mx:Button label="upload" click="start();" />
<mx:Label id="lbl" />
</mx:Application>
效果图:
转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/04/09/1708026.html
Flex Timer 定时器相关推荐
- Timer定时器开发
Timer定时器开发 定时器的作用是不占线程的等待一个确定时间,同样通过callback来通知定时器到期. 参考:https://github.com/sogou/workflow 定时器的创建 同样 ...
- java Timer定时器管理类
1.java timer类,定时器类.启动执行定时任务方法是timer.schedule(new RemindTask(), seconds*1000);俩参数分别是TimerTask子类,具体执行定 ...
- timer.schedule —— timer定时器的用法
Java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerT ...
- python timer使用-Python timer定时器两种常用方法解析
这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法一,使用线程中现成的: 这种一般 ...
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...
- java项目中多个定时器_在java项目中如何使用Timer定时器
在java项目中如何使用Timer定时器 发布时间:2020-11-16 16:36:16 来源:亿速云 阅读:97 作者:Leah 在java项目中如何使用Timer定时器?很多新手对此不是很清楚, ...
- java timer线程结束_Java线程Timer定时器用法详细总结
定时/计划功能主要使用的就是Timer对象,它在内部还是使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联. Timer类主要作用就是设置计划任务,但封装任务的类却是TimerTask类.T ...
- Timer定时器控件 1130
Timer定时器控件 1130 引入 Timer 属性
- c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理
c# 使用timer定时器操作,下次定时到了以后,上次还未执行完怎么办 ------解决方案------------------------------------------------------ ...
最新文章
- vue cli 添加html,vue-cli创建的项目,配置多页面的实现方法
- Rhel7 Ldap为本地用户认证方式,设置域、服务器位置和下载key
- 转载---sharepoint相关资源
- c linux 获取cpuid_Linux下C编程 -- 得到系统的CPU信息(cpuid)
- LeetCode 2069. 模拟行走机器人 II(模拟)
- handler和thread之间如何传输数据_HTTP和TCP之间的关系
- Python open()函数文件打开、读、写基础操作
- What are CBR, VBV and CPB?
- 拼车小程序的市场应用与外包开发的建议
- 【操作指导 | 代码实现】挑战程序设计竞赛2:算法和数据结构
- 牛客网赛码网 输入输出格式 pythonC++
- Python处理PDF——PyMuPDF的安装与使用
- 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作
- 如何申请注册邮箱?需要跟人工在线客服申请邮箱么?
- mesh 协调器 路由器_请TI技术支持和大神指点下,关于zigbee组建mesh路由网络的问题,谢谢!...
- unity 太阳自发光_unity shader基础之——unity中实现环境光、自发光
- MyBatis总结 Day01
- mysql 平方函数_mysql函数
- 详细使用git打tag,删除tag,切换到某个tag时期,删除/查看分支
- python爬虫实战——运用requests批量下载qq音乐