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

使用Flex組件開(kāi)發(fā)那些事

開(kāi)發(fā) 后端
本文向大家介紹一下如何使用Flex組件開(kāi)發(fā),在Flex應(yīng)用程序中ActionScript的最主要的用處大概就是使用可視化的控件和容器來(lái)開(kāi)發(fā)了。

在學(xué)習(xí)Flex的過(guò)程中,你可能會(huì)遇到使用Flex組件開(kāi)發(fā)問(wèn)題,這里和大家分享一下,為了在A(yíng)ctionScript中使用Flex組件,我們一般要在MXML標(biāo)簽中給組件定義一個(gè)id屬性。

使用Flex組件開(kāi)發(fā)

在Flex應(yīng)用程序中ActionScript的最主要的用處大概就是使用可視化的控件和容器來(lái)開(kāi)發(fā)了。Flex提供了幾種技術(shù)來(lái)完成這樣工作,包括了用ActionScript引用Flex控件以及操控控件和容器的實(shí)例的屬性。

引用Flex組件

為了在A(yíng)ctionScript中使用組件,我們一般要在MXML標(biāo)簽中給組件定義一個(gè)id屬性。例如,下面的代碼中,我們?cè)O(shè)置了Button控件的id屬性為”myButton”:

  1. <mx:Buttonidmx:Buttonid="myButton"label="ClickMe"/> 

如果你并不像通過(guò)使用ActionScript來(lái)操控這個(gè)組件,那么這個(gè)屬性是可有可無(wú)的。

這段代碼使得MXML編譯器自動(dòng)生成一個(gè)包含了Button實(shí)例的引用的名字為myButton的公共變量。你可以在A(yíng)ctionScript中通過(guò)使用這個(gè)自動(dòng)生成的變量來(lái)操控Flex組件。你可以在任意的ActionScript類(lèi)或代碼塊中通過(guò)組件的id來(lái)明確的引用Button控件的實(shí)例。通過(guò)引用組件的實(shí)例,你可以修改組件的屬性并且調(diào)用組件的方法。

例如,下面的ActionScript代碼塊中,當(dāng)用戶(hù)點(diǎn)擊了按鈕的時(shí)候,程序就會(huì)改變Button控件的label屬性的值:

  1. <?xmlversionxmlversion="1.0"?> 
  2.  
  3. <!--usingas/ButtonExample.mxml--> 
  4.  
  5. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  6.  
  7. <mx:Script><![CDATA[  
  8.  
  9. privatefunctionsetLabel():void{  
  10.  
  11. if(myButton.label=="ClickMe"){  
  12.  
  13. myButton.label="Clicked";  
  14.  
  15. }else{  
  16.  
  17. myButton.label="ClickMe";  
  18.  
  19. }  
  20.  
  21. }  
  22.  
  23. ]]></mx:Script> 
  24.  
  25. <mx:Buttonidmx:Buttonid="myButton"label="ClickMe"click="setLabel();"/> 
  26.  
  27. </mx:Application> 
  28.  

 所有的MXML組件的id屬性,無(wú)論它們嵌套的有多深,生成的都是已經(jīng)定義好的組件的公共變量。因此,在文檔中所有的id屬性必須是***的。這也意味著,如果你指定了組件實(shí)例的id屬性,你就可以在程序的任意地方來(lái)操控組件:函數(shù),外部的類(lèi)文件,導(dǎo)入的ActionScript文件,或者內(nèi)嵌代碼。

◆如果Flex組件并沒(méi)有id屬性,你可以通過(guò)使用組件的容器的一些方法來(lái)引用該組件。比如getChildAt()和getChildByName()方法。

你可以參照目前內(nèi)附文件或者當(dāng)前對(duì)象來(lái)使用這樣的關(guān)鍵字。

你也可以通過(guò)使用跟組件名稱(chēng)一樣的字符來(lái)引用組件。要在程序中使用對(duì)象,你可以通過(guò)使用方括號(hào),方括號(hào)內(nèi)存放的就是跟組件名稱(chēng)一樣的字符串。這樣你就得到了該對(duì)象的引用。

下面的例子中,通過(guò)使用字符串來(lái)獲取對(duì)象的引用,然后改變每個(gè)Button控件的樣式:

 

  1. <?xmlversionxmlversion="1.0"?> 
  2.  
  3. <!--usingas/FlexComponents.mxml--> 
  4.  
  5. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  6.  
  7. <mx:Script><![CDATA[  
  8.  
  9. privatevarnewFontStyle:String;  
  10.  
  11. privatevarnewFontSize:int;  
  12.  
  13. publicfunctionchangeLabel(s:String):void{  
  14.  
  15. s="myButton"+s;  
  16.  
  17.  
  18. if(this[s].getStyle("fontStyle")=="normal"){  
  19.  
  20. newFontStyle="italic";  
  21.  
  22. newFontSize=18;  
  23.  
  24. }else{  
  25.  
  26. newFontStyle="normal";  
  27.  
  28. newFontSize=10;  
  29.  
  30. }  
  31.  
  32. this[s].setStyle("fontStyle",newFontStyle);  
  33.  
  34. this[s].setStyle("fontSize",newFontSize);  
  35.  
  36. }  
  37.  
  38. ]]></mx:Script> 
  39.  
  40. <mx:Buttonidmx:Buttonid="myButton1" 
  41.  
  42. click="changeLabel('2')" 
  43.  
  44. label="ChangeOtherButton'sStyles" 
  45. /> 
  46.  
  47. <mx:Buttonidmx:Buttonid="myButton2" 
  48.  
  49. click="changeLabel('1')" 
  50.  
  51. label="ChangeOtherButton'sStyles" 
  52.  
  53. /> 
  54.  
  55. </mx:Application> 


這個(gè)小技巧有著比較特殊的用處,當(dāng)你在用Repeater控件或用ActionScript創(chuàng)建了一個(gè)對(duì)象的時(shí)候,你不必知道對(duì)象的名字你也可以在運(yùn)行時(shí)來(lái)引用該對(duì)象。但是,當(dāng)你用ActionScript實(shí)例化一個(gè)對(duì)象的時(shí)候,如果要添加該對(duì)象到應(yīng)用程序的屬性數(shù)組(按本人的理解:該數(shù)組為應(yīng)用程序的數(shù)組,包含程序中定義的組件的實(shí)例)中去,你必須定義該變量為public并且要在整個(gè)的類(lèi)的作用域范圍定義,而不是在函數(shù)的內(nèi)部定義。

【編輯推薦】

  1. 解析Flex數(shù)據(jù)綁定的幾種方式
  2. 解析重寫(xiě)Flex組件中角色 規(guī)則和步驟
  3. 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
  4. 解析重寫(xiě)Flex組件的原因和規(guī)則
  5. Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況 

 

責(zé)任編輯:佚名 來(lái)源: chinaunix.net
相關(guān)推薦

2010-08-12 14:13:01

Flex開(kāi)發(fā)者

2010-07-27 11:29:43

Flex

2010-08-09 13:20:36

Flex

2011-07-19 15:33:57

iPhone

2012-07-13 00:03:08

WEB前端開(kāi)發(fā)WEB開(kāi)發(fā)

2011-08-01 17:31:25

Xcode開(kāi)發(fā) Cocoa

2010-07-30 13:40:59

Flex開(kāi)發(fā)

2012-08-30 09:41:23

移動(dòng)應(yīng)用開(kāi)發(fā)

2010-07-30 13:52:17

Flex組件

2010-04-12 14:58:56

Meego開(kāi)發(fā)

2011-05-19 16:47:50

軟件測(cè)試

2012-05-01 08:06:49

手機(jī)

2024-02-04 17:03:30

2017-05-15 21:50:54

Linux引號(hào)

2010-08-04 15:37:31

Flex圖表

2021-10-19 21:39:51

Unsafe構(gòu)造器內(nèi)存

2015-05-28 14:02:09

JavaJava日志性

2011-12-02 10:32:23

Java

2011-08-22 16:42:43

SqliteiPad

2014-06-06 16:08:17

初志科技
點(diǎn)贊
收藏

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