成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Flex中直接獲取某個組件的對象

開發 后端
有這樣一個需求:假如你new了一百次Button,同時這些button的id分別賦值如btn1.id = "button1"; btn2.id = "button2";以此類推。當100個button建立后,我想直接對其第20個button進行操作,那么應該如何實現呢?本文將介紹如何在Flex直接獲取某個組件的對象。

Flex中直接獲取某個組件的對象方案1:

遍歷這些button所在的容器的,然后通過getChildAt() 或者 getChildByName()這樣的方式獲取。
這是常規的做法,這種做法的弊端:每次都需要遍歷100次button,顯然效率很慢。

Flex中直接獲取某個組件的對象方案2:

當建立新的button后,將這個button存放到哈希表里面,其鍵-值的設定關系:key = button.id; value = button;即鍵里面保存的button的id,而value里面保存的button對象。object[ 'button20' ] = btn20;

在使用的時候,直接取得第20個button的做法:var button : Button = object[ 'button' + 20 ];

這樣做無疑要比***種方式快很多倍,但是這種做法的弊端:需要建立一個哈希表,當你的數據過多的時候,無疑這個哈希表將會很大。

Flex中直接獲取某個組件的對象方案3:

我們***不需要遍歷100次button容器,第二不需要建立一個哈希表。我們只是用this[xxxx]的方式,即可取出第20個button。

具體做法:var button : Button = this[ 'button' + 20 ];即可完成操作。無論這些button在什么地方?在什么樣深度的容器里面,只要是它仍在這個project里面,就可以使用this[xxx]的方式取出。
無疑這種做法是高效的,其實我們仔細看一下this[xxx]其實也是使用哈希表的方式,只不過比方案2好在,我們不需要再建立一個哈希表,這樣能節省很多的內存空間。

具體請看一下第三種方法的demo:

  1. <?xml version="1.0"?>    
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mx   
  3.  <mx:Script> 
  4.     <![CDATA[    
  5.     private var newFontStyle:String;    
  6.     private var newFontSize:int;    
  7.      
  8.     public function changeStyle( s : String ) : void {    
  9.         s = "button" + s;        
  10.         this[ s ].setStyle( "fontSize", 20 );    
  11.     }    
  12.     ]]> 
  13.     </mx:Script>     
  14.     <mx:Button id="button1" click="changeStyle('2')" label="Button 1" />    
  15.     <mx:Button id="button2" click="changeStyle('1')" label="Button 2" />     
  16. </mx:Application> 

【編輯推薦】

  1. Flex教程 Flex程序開發初步
  2. Flex垃圾回收和性能優化的一些總結
  3. Flex和Jsp之間中文參數的傳遞
  4. Flex編程中需要注意的Namespace用法
  5. 將Flex與Spring集成框架
責任編輯:彭凡 來源: cnblogs
相關推薦

2023-07-31 08:02:28

2011-04-19 13:10:11

MySQL儲存圖片

2011-05-16 13:40:13

MySQL儲存圖片

2009-08-20 10:12:59

Flex Alert組

2020-10-12 09:46:34

漏洞

2010-08-13 09:11:11

LabelFlex

2009-06-25 13:03:48

JSF的UI組件

2010-07-30 13:40:59

Flex開發

2010-08-04 14:44:33

Flex圖表

2009-07-15 11:04:02

MyEclipse F

2010-08-05 10:58:55

Flex組件

2022-09-15 15:04:05

datamethods

2010-08-12 13:34:13

Flex驗證組件

2010-08-13 09:21:12

FlexButton組件

2010-07-20 13:53:44

Perl引用

2010-04-19 08:51:30

2021-04-15 22:17:16

PythonExcel代碼

2009-09-22 13:41:10

直接使用Hiberna

2010-08-13 13:14:09

Flex圖表

2023-02-27 09:10:57

前端組件設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线一区二区三区 | 国产精品一区二区电影 | 亚洲成av人片在线观看无码 | 精品一区国产 | 欧美一区二区三区四区视频 | 电影在线| 国产乱码精品一区二区三区五月婷 | 日韩精品一区二区三区高清免费 | 国产区精品在线观看 | 免费黄色成人 | 国产一级片免费在线观看 | 噜噜噜噜狠狠狠7777视频 | 亚洲一区精品在线 | 亚洲精品电影在线观看 | 2022国产精品 | 91看片在线观看 | 欧美成视频 | 欧美精品成人 | 久久av资源网 | 涩涩操 | 免费在线成人网 | 丁香婷婷久久久综合精品国产 | 婷婷一级片 | 欧美一区2区三区4区公司二百 | 欧美久久精品一级黑人c片 91免费在线视频 | 久久99精品久久久久久 | 精品粉嫩aⅴ一区二区三区四区 | 福利视频1000| 6080yy精品一区二区三区 | 免费成人在线网站 | 亚洲有码转帖 | 日本涩涩网 | 粉嫩av久久一区二区三区 | 精品久久久久久久久久 | 一区二区三区在线播放 | 亚洲国产精品久久人人爱 | 高清色| 欧美日韩国产精品一区二区 | 99亚洲 | 亚洲精品一区中文字幕乱码 | 成人一区av|