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

學習筆記 如何使用Flex組件進行開發

開發 后端
本文向大家介紹一下Flex組件開發的概念,在Flex應用程序中ActionScript的最主要的用處大概就是使用可視化的控件和容器來開發了。

本文和大家重點討論一下使用Flex組件開發,Flex提供了幾種技術來使用可視化的控件和容器來開發,包括了用ActionScript引用Flex控件以及操控控件和容器的實例的屬性。

使用Flex組件開發

在Flex應用程序中ActionScript的最主要的用處大概就是使用可視化的控件和容器來開發了。Flex提供了幾種技術來完成這樣工作,包括了用ActionScript引用Flex控件以及操控控件和容器的實例的屬性。

引用Flex組件

為了在ActionScript中使用Flex組件,我們一般要在MXML標簽中給Flex組件定義一個id屬性。例如,下面的代碼中,我們設置了Button控件的id屬性為”myButton”:

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

◆如果你并不像通過使用ActionScript來操控這個Flex組件,那么這個屬性是可有可無的。

這段代碼使得MXML編譯器自動生成一個包含了Button實例的引用的名字為myButton的公共變量。你可以在ActionScript中通過使用這個自動生成的變量來操控Flex組件。你可以在任意的ActionScript類或代碼塊中通過Flex組件的id來明確的引用Button控件的實例。通過引用Flex組件的實例,你可以修改Flex組件的屬性并且調用Flex組件的方法。

例如,下面的ActionScript代碼塊中,當用戶點擊了按鈕的時候,程序就會改變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.  

 

所有的MXMLFlex組件的id屬性,無論它們嵌套的有多深,生成的都是已經定義好的Flex組件的公共變量。因此,在文檔中所有的id屬性必須是***的。這也意味著,如果你指定了Flex組件實例的id屬性,你就可以在程序的任意地方來操控Flex組件:函數,外部的類文件,導入的ActionScript文件,或者內嵌代碼。

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

你可以參照目前內附文件或者當前對象來使用這樣的關鍵字。

你也可以通過使用跟Flex組件名稱一樣的字符來引用Flex組件。要在程序中使用對象,你可以通過使用方括號,方括號內存放的就是跟Flex組件名稱一樣的字符串。這樣你就得到了該對象的引用。

下面的例子中,通過使用字符串來獲取對象的引用,然后改變每個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. if(this[s].getStyle("fontStyle")=="normal"){  
  18.  
  19. newFontStyle="italic";  
  20.  
  21. newFontSize=18;  
  22.  
  23. }else{  
  24.  
  25. newFontStyle="normal";  
  26.  
  27. newFontSize=10;  
  28.  
  29. }  
  30.  
  31. this[s].setStyle("fontStyle",newFontStyle);  
  32.  
  33. this[s].setStyle("fontSize",newFontSize);  
  34.  
  35. }  
  36.  
  37. ]]></mx:Script> 
  38.  
  39. <mx:Buttonidmx:Buttonid="myButton1" 
  40.  
  41. click="changeLabel('2')" 
  42.  
  43. label="ChangeOtherButton'sStyles" 
  44. /> 
  45.  
  46. <mx:Buttonidmx:Buttonid="myButton2" 
  47.  
  48. click="changeLabel('1')" 
  49.  
  50. label="ChangeOtherButton'sStyles" 
  51.  
  52. /> 
  53.  
  54. </mx:Application> 
  55.  

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

【編輯推薦】

  1. 深入學習Flex組件生命周期
  2. 技術分享 如何重寫Flex組件
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內存泄露解決方法和內存釋放優化原則

 

責任編輯:佚名 來源: chinaunix.net
相關推薦

2010-07-27 10:39:25

Flex組件

2010-07-30 09:28:09

Flex數據綁定

2010-08-03 14:52:49

Flex界面設計

2010-08-12 13:39:46

Flex組件

2010-08-06 13:22:48

FlexCSS

2010-08-05 10:29:11

Flex效果

2022-02-16 15:32:58

FlexUI框架容器組件

2022-02-17 20:07:45

Flex鴻蒙Flex組件

2010-07-27 11:08:12

Flex

2010-08-04 09:26:27

Flex數據

2010-08-10 16:41:54

FlexJSP

2010-07-30 13:40:59

Flex開發

2010-08-12 11:05:33

Flex數據綁定

2010-08-11 15:35:47

Flex DataGr

2010-08-10 15:26:38

Flex應用程序

2010-07-30 13:08:38

Flex調用JavaS

2010-08-09 10:34:05

Flex背景

2010-08-12 13:34:13

Flex驗證組件

2010-08-05 15:46:13

Flex行為Flex效果

2010-08-10 16:30:05

Flex上傳文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91资源在线观看 | 亚洲欧美激情精品一区二区 | 久久另类视频 | 精品在线一区二区 | 久久精品亚洲精品国产欧美 | 在线伊人网| 欧美精品三区 | 日本在线免费视频 | 中文字幕免费 | 亚洲视频免费在线 | 99热热热| 免费黄色成人 | av日日操 | 亚洲草草视频 | 亚洲色图在线观看 | 精品自拍视频在线观看 | 成人影院网站ww555久久精品 | 祝你幸福电影在线观看 | 欧美性大战久久久久久久蜜臀 | 国产一级在线观看 | 在线播放国产一区二区三区 | 国产乱码精品一区二区三区中文 | 91福利网 | 色橹橹欧美在线观看视频高清 | 999re5这里只有精品 | 五月香婷婷 | 精品一二三 | 久草青青草 | 一区二区不卡 | 国产精品久久久久久久久图文区 | 欧美色综合一区二区三区 | 91一区二区| 精品国产视频 | 啪啪免费网站 | 手机av在线 | 99爱在线观看| 国产精品99久久久久久宅男 | 久久专区| re久久| 在线欧美亚洲 | 午夜精品久久久久久 |