溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Flex組件進(jìn)行開發(fā)

發(fā)布時間:2021-11-03 17:37:14 來源:億速云 閱讀:115 作者:小新 欄目:編程語言

這篇文章主要介紹了怎么使用Flex組件進(jìn)行開發(fā),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

使用Flex組件開發(fā)

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

引用Flex組件

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

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

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

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

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

<?xmlversionxmlversion="1.0"?>  <!--usingas/ButtonExample.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   privatefunctionsetLabel():void{   if(myButton.label=="ClickMe"){   myButton.label="Clicked";   }else{   myButton.label="ClickMe";   }   }   ]]></mx:Script>  <mx:Buttonidmx:Buttonid="myButton"label="ClickMe"click="setLabel();"/>  </mx:Application>

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

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

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

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

下面的例子中,通過使用字符串來獲取對象的引用,然后改變每個Button控件的樣式:

<?xmlversionxmlversion="1.0"?>  <!--usingas/FlexComponents.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   privatevarnewFontStyle:String;   privatevarnewFontSize:int;   publicfunctionchangeLabel(s:String):void{   s="myButton"+s;   if(this[s].getStyle("fontStyle")=="normal"){   newFontStyle="italic";   newFontSize=18;   }else{   newFontStyle="normal";   newFontSize=10;   }   this[s].setStyle("fontStyle",newFontStyle);   this[s].setStyle("fontSize",newFontSize);   }   ]]></mx:Script>  <mx:Buttonidmx:Buttonid="myButton1"  click="changeLabel('2')"  label="ChangeOtherButton'sStyles" />  <mx:Buttonidmx:Buttonid="myButton2"  click="changeLabel('1')"  label="ChangeOtherButton'sStyles"  />  </mx:Application>

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

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么使用Flex組件進(jìn)行開發(fā)”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI