Flex中自定义timer和DataTimer的例子
By Minidxer | April 11, 2009
接下来的例子演示了Flex中如何自定义timer和DataTimer。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?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();">
- <mx:Script>
- <![CDATA[
- import mx.utils.UIDUtil;
- private var timer:DataTimer;
- private function init():void {
- timer = new DataTimer(1000);
- timer.data.startTime = getTimer();
- timer.data.uid = UIDUtil.createUID();
- timer.addEventListener(TimerEvent.TIMER, timer_timer);
- timer.start();
- }
- private function timer_timer(evt:TimerEvent):void {
- var tmr:DataTimer = evt.currentTarget as DataTimer;
- var obj:Object = new Object();
- obj.currentCount = tmr.currentCount;
- obj.delay = tmr.delay;
- obj.repeatCount = tmr.repeatCount;
- obj.running = tmr.running;
- obj.startTime = tmr.data.startTime;
- obj.uuid = tmr.data.uid;
- arrColl.addItemAt(obj, 0);
- }
- ]]>
- </mx:Script>
- <mx:ArrayCollection id="arrColl" />
- <mx:DataGrid id="dataGrid"
- dataProvider="{arrColl}"
- width="100%"
- rowCount="10"
- verticalGridLines="false"
- verticalScrollPolicy="on">
- <mx:columns>
- <mx:DataGridColumn dataField="currentCount" />
- <mx:DataGridColumn dataField="repeatCount" />
- <mx:DataGridColumn dataField="delay" />
- <mx:DataGridColumn dataField="running" />
- <mx:DataGridColumn dataField="startTime"
- headerText="startTime (*)" />
- <mx:DataGridColumn dataField="uuid"
- headerText="uuid (*)" />
- </mx:columns>
- </mx:DataGrid>
- </mx:Application>
下面是DataTimer.as代码:
- package {
- import flash.utils.Timer;
- public class DataTimer extends Timer {
- private var _data:Object;
- public function DataTimer(delay:Number, repeatCount:int=0) {
- super(delay, repeatCount);
- _data = {};
- }
- public function get data():Object {
- return _data;
- }
- public function set data(value:Object):void {
- _data = value;
- }
- }
- }
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Other |
No Comments » |
Tags: DataTimer, Timer