自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

技術(shù)分享 Flex 初始化時事件如何測試

開發(fā) 后端
本文向大家簡單介紹一下Flex 初始化時的事件測試問題,F(xiàn)lex組件在建立的時候都會經(jīng)歷四個事件:preinitialize, initialize, creationComplete和updateComplete。

本文和大家重點討論一下Flex 初始化時的事件測試,F(xiàn)lex組件在建立的時候都會經(jīng)歷四個事件:preinitialize, initialize, creationComplete和updateComplete(updateComplete事件在任何改動視覺的情況下都會發(fā)生,不是初始化時獨有的)。

Flex 初始化時的事件測試

Flex組件在建立的時候都會經(jīng)歷四個事件:preinitialize, initialize, creationComplete和updateComplete(updateComplete事件在任何改動視覺的情況下都會發(fā)生,不是初始化時獨有的)。我這里有個例子來檢測在嵌套和平行的情況下,F(xiàn)lex 初始化時測試各個組件的事件拋出順序。

  1. xml version="1.0" encoding="utf-8"?> 
  2. <mx:Application xmlns:mx=http://www.adobe.com/2006/mxml 
  3. layout="absolute"   
  4.  preinitialize="showEvent(event)"   
  5.  initialize="showEvent(event)"   
  6.  creationComplete="showEvent(event)"   
  7.  updateComplete="showEvent(event)"> 
  8.    
  9.  <mx:Script> 
  10.    
  11.    import flash.utils.getTimer;  
  12.    private function showEvent(event:Event):void  
  13.    {  
  14.     trace(flash.utils.getTimer().toString()+" >> "
  15. +event.currentTarget.name+" "+event.type);  
  16.    }  
  17.   ]]> 
  18.  mx:Script> 
  19.    
  20.  <mx:Canvas id="canv1" 
  21.   preinitialize="showEvent(event)"   
  22.   initialize="showEvent(event)"   
  23.   creationComplete="showEvent(event)"   
  24.   updateComplete="showEvent(event)"> 
  25.    
  26.   <mx:Button id="btn1" 
  27.    preinitialize="showEvent(event)"   
  28.    initialize="showEvent(event)"   
  29.    creationComplete="showEvent(event)"   
  30.    updateComplete="showEvent(event)"/> 
  31.  mx:Canvas> 
  32.    
  33.  <mx:Button id="btn2" 
  34.    preinitialize="showEvent(event)"   
  35.    initialize="showEvent(event)"   
  36.    creationComplete="showEvent(event)"   
  37.           updateComplete="showEvent(event)"/> 
  38.    
  39. mx:Application> 
  40.  

 

它的輸出是:

  1. 1299 >> eventTest0 preinitialize  
  2.  
  3. 1307 >> canv1 preinitialize  
  4.  
  5. 1310 >> btn1 preinitialize  
  6.  
  7. 1318 >> btn1 initialize  
  8.  
  9. 1319 >> canv1 initialize  
  10.  
  11. 1320 >> btn2 preinitialize  
  12.  
  13. 1321 >> btn2 initialize  
  14.  
  15. 1321 >> eventTest0 initialize  
  16.  
  17. [SWF] G:\projects\eventTest\bin-debug\eventTest.swf – 588,
  18. 818 bytes after decompression  
  19.  
  20. 1387 >> btn1 creationComplete  
  21.  
  22. 1387 >> btn1 updateComplete  
  23.  
  24. 1387 >> canv1 creationComplete  
  25.  
  26. 1387 >> canv1 updateComplete  
  27.  
  28. 1388 >> btn2 creationComplete  
  29.  
  30. 1388 >> btn2 updateComplete  
  31.  
  32. 1388 >> eventTest0 creationComplete  
  33.  
  34. 1390 >> eventTest0 updateComplete  
  35.  

 看著有點混亂,不過仔細(xì)看看,可以把過程分成兩個部分。很明顯,所有的creationComplete和updateComplete發(fā)生在第二次update的時候,之前Flex組件只是做一些設(shè)置和計算的工作,并沒有在畫布上畫任何東西。除此以外,還有這么一些規(guī)律:

◆就單個組件而言,F(xiàn)lex 初始化時事件的拋出順序是preinitialize,initialize,creationComplete

◆嵌套關(guān)系的兩個組件(比如Canvas和button1),preinitialize先外后內(nèi),initialize和creationComplete先內(nèi)后外。只是creationComplete要在下一次update才會發(fā)生。
◆平行關(guān)系的兩個組件(比如Canvas和button2),按mxml內(nèi)的順序,只有前面組件initialize結(jié)束后,后面的組件才會拋出preinitialize。

【編輯推薦】

  1. FlexBuilder快捷鍵使用說明
  2. Flex2.0Beta1新功能出爐
  3. 揭露Flex2.0的幾大誤區(qū)
  4. FlexBuilder3.0與Eclipse3.4的***結(jié)合
  5. 剖析Flex DataGrid分頁控件的兩種分頁形式用法
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-28 12:41:18

Flex組件

2010-08-05 13:07:11

FlexJson

2010-08-11 14:47:54

Flex樣式

2010-08-02 16:33:11

Flex Spring

2010-08-10 14:08:09

Flex嵌入字體

2010-08-06 11:19:24

FlexPaperFlex

2010-07-30 10:37:23

Flex數(shù)據(jù)綁定

2010-08-09 15:41:13

Flex字體

2010-08-04 13:30:11

Flex項目

2021-04-01 13:02:29

SpringBootJava代碼

2010-07-28 08:44:12

Flex2.0

2010-08-11 10:01:45

FlexJavaFlamingo

2010-08-12 15:10:17

Flex4

2010-07-29 13:27:13

Flex右鍵菜單

2010-08-06 10:24:56

Flex事件分發(fā)

2010-07-27 10:11:04

Flex4

2012-12-28 14:53:34

Android開發(fā)初始化窗體事件

2010-08-09 12:47:00

Flex4beta

2009-09-17 15:39:56

C#數(shù)組初始化

2010-08-06 10:03:42

Flex事件
點贊
收藏

51CTO技術(shù)棧公眾號