中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

ActionScript中怎么創建可視化Flex組件

發布時間:2021-07-28 15:45:59 來源:億速云 閱讀:171 作者:Leah 欄目:編程語言

這篇文章給大家介紹ActionScript中怎么創建可視化Flex組件,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

用ActionScript創建可視化的Flex組件

通過使用ActionScript中的new操作符你可以程序化的創建可視化的Flex組件,用同樣的方式你也可以創建任何ActionScript類的實例。創建后的組件的屬性都有默認的值,但是組件此時并沒有父類和子類(包含各式各樣的DisplayObject),而且此時組件并不在FlashPlayer或AdobeAIR的顯示列表中,因此無法在界面看到該組件。當創建組件完成后,你可以使用標準的賦值語句來重新設置組件的屬性的值。

如果你要把新創建的Flex組件添加到容器中去,必須使用容器的addChild()和addChildAt()方法,通過這種方法可以使得組件變成Flex程序的顯示層級的一部分。當組件***次被添加到容器的時候,組件的子實例就被創建了。在組件的生命周期子實例創建的時候比較晚,因此你可以在子實例創建完成后設置它的屬性。

當創建可視化組建的時候,你必須導入合適的包。在大多數情況下,這些包基本都在mx.controls包中,具體的你可以查閱AdobeFlexLanguageReference

下面的例子中,創建了一個Button控件并田間到HBox中去:

<?xmlversionxmlversion="1.0"?>  <!--usingas/ASVisualComponent.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   importmx.controls.Button;   publicvarbutton2:Button;   publicfunctioncreateObject():void{   button2=newButton();   button2.label="ClickMe";   hb1.addChild(button2);   }   ]]></mx:Script>  <mx:HBoxidmx:HBoxid="hb1">  <mx:Buttonlabelmx:Buttonlabel="CreateObject"click="createObject()"/>  </mx:HBox>  </mx:Application>

Flex容器中新創建的元素將會排在容器的***。如果你并不像讓新創建的元素排在容器的***,可是使用addChildAt()方法來改變元素的順序。你也可以在調用addChild()方法后使用setChildIndex()方法來實現,不過這樣做的話效率會降低。

你應該為每個動態創建的Flex組件定義實例變量并且將新創建的組件的實例存儲在變量里,就像當你為組件的實例標簽設置了id屬性的時候MXML編譯器所做的那樣。然后你就可以訪問你剛才動態創建的組件。

◆如果要在程序中移除一個組件,你需要使用removeChild()或removeChildAt()方法。你也可以使用removeAllChildren()方法來移除容器的所有組件。調用這些方法并不是真正的刪除這些對象。如果你在程序沒有這些對象的任何引用,那么FlashPlayer的垃圾回收機制就會在將來的某個時間點進行回收。如果在程序中存儲了該對象的引用,那么系統將會不從內存中移除該對象。

在有些情況下,你是通過使用MXML標簽來定義組件的。你可以設置容器的creationPolicy屬性為none來延遲容器中組件的實例化。為了創建那些用標簽定義了但沒有實例化的組件,你可以使用createComponentFromDescriptor()和createComponentsFromDescriptors()方法。使用這些方法可以讓你程序化的創建組件而不是聲明化的。

可以支持addChild()方法的組件是UIComponent。換句話說,如果你創建了一個并不是mx.core.UIComponent的子類的對象,在你將該對象添加到容器之前你必須用UIComponent封裝該對象。下面的例子中,創建了并不是UIComponent子類的Sprite對象,在將該對象添加到Panel容器之前將對象添加為UIComponent的子對象:

<?xmlversionxmlversion="1.0"?>  <!--usingas/AddingChildrenAsUIComponents.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   importflash.display.Sprite;   importmx.core.UIComponent;   privatevarxLoc:int=20;   privatevaryLoc:int=20;   privatevarcircleColor:Number=0xFFCC00;   privatefunctionaddChildToPanel():void{   varcircle:Sprite=newSprite();   circle.graphics.beginFill(circleColor);   circle.graphics.drawCircle(xLoc,yLoc,15);    varc:UIComponent=newUIComponent();   c.addChild(circle);   panel1.addChild(c);   xLoc=xLoc+5;   yLoc=yLoc+1;   circleColor=circleColor+20;   }   ]]></mx:Script>  <mx:Panelidmx:Panelid="panel1"height="250"width="300"verticalScrollPolicy="off"/>  <mx:Buttonidmx:Buttonid="myButton"label="ClickMe"click="addChildToPanel();"/>  </mx:Application>

關于ActionScript中怎么創建可視化Flex組件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣武区| 宿州市| 格尔木市| 长海县| 咸宁市| 衡阳市| 泰安市| 鄂伦春自治旗| 林口县| 阿勒泰市| 攀枝花市| 贵定县| 新绛县| 凤庆县| 漳浦县| 黄大仙区| 卢湾区| 康乐县| 融水| 宜春市| 中西区| 孟村| 海城市| 日照市| 苍溪县| 宜兰市| 河西区| 郎溪县| 抚松县| 平顺县| 晋中市| 库车县| 汤原县| 汉中市| 思茅市| 独山县| 罗源县| 凤翔县| 阿坝县| 辽宁省| 青海省|