日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用ActionScript創(chuàng)建可視化的Flex組件

本文和大家重點討論一下用ActionScript創(chuàng)建可視化的Flex組件,當創(chuàng)建Flex組件完成后,你可以使用標準的賦值語句來重新設置Flex組件的屬性的值。

用ActionScript創(chuàng)建可視化的Flex組件

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

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

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

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

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. importmx.controls.Button;  
  9.  
  10. publicvarbutton2:Button;  
  11.  
  12.  
  13.  
  14. publicfunctioncreateObject():void{  
  15.  
  16. button2=newButton();  
  17.  
  18. button2.label="ClickMe";  
  19.  
  20. hb1.addChild(button2);  
  21.  
  22. }  
  23.  
  24. ]]> 
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  

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

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

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

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

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

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. importflash.display.Sprite;  
  9.  
  10. importmx.core.UIComponent;  
  11.  
  12. privatevarxLoc:int=20;  
  13.  
  14. privatevaryLoc:int=20;  
  15.  
  16. privatevarcircleColor:Number=0xFFCC00;  
  17.  
  18. privatefunctionaddChildToPanel():void{  
  19.  
  20. varcircle:Sprite=newSprite();  
  21.  
  22. circle.graphics.beginFill(circleColor);  
  23.  
  24. circle.graphics.drawCircle(xLoc,yLoc,15);  
  25.  
  26. varc:UIComponent=newUIComponent();  
  27.  
  28. c.addChild(circle);  
  29.  
  30. panel1.addChild(c);  
  31.  
  32. xLoc=xLoc+5;  
  33.  
  34. yLoc=yLoc+1;  
  35.  
  36. circleColor=circleColor+20;  
  37.  
  38. }  
  39.  
  40. ]]> 
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  


本文名稱:用ActionScript創(chuàng)建可視化的Flex組件
鏈接分享:http://www.dlmjj.cn/article/cdoghgo.html