FlexBuilder中怎么創(chuàng)建自定義控件,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)專注于新榮企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城開發(fā)。新榮網(wǎng)站建設(shè)公司,為新榮等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
創(chuàng)建自定義組件
1、Flex是由as類結(jié)構(gòu)實(shí)現(xiàn)的。
FlexBuilder教程中類結(jié)構(gòu)包含了組件類,管理類,數(shù)據(jù)服務(wù)類,和其他用來實(shí)現(xiàn)flex功能的類。下圖展示的是類結(jié)構(gòu)中flex可視化組件的一部分,關(guān)于控制和容器的部分:
所有的可視化組件繼承自UIComponentas類。Flex中非可視化組件也是依靠as類結(jié)構(gòu)來實(shí)現(xiàn)的。大部分的非可視化組件都是Validator,F(xiàn)ormatter,或者是Effect類。
通過使用mxml和as語言擴(kuò)展Flex類結(jié)構(gòu)來創(chuàng)建自定義的組件。組件都繼承了父類的屬性,方法,行為,風(fēng)格和效果。
通過as創(chuàng)建一個(gè)flex組件時(shí),必須繼承自一個(gè)flex類。類的名稱必須和類文件的名稱相同。子類繼承了父類的所有屬性的和方法。在mxml中使用這個(gè)組件時(shí),通過使用類名稱的標(biāo)簽來引用。例如,類名稱是myASButton,文件名則為myASButton.as,在mxml中使用<myASButton>標(biāo)簽來使用組件。
在通過mxml創(chuàng)建一個(gè)組建時(shí),flex編譯器將自動(dòng)的生成一個(gè)as類。mxml文件的名稱必須和as類名稱相同。同樣,在mxml中使用這個(gè)名稱標(biāo)簽來使用這個(gè)組件。
下圖展示了分別通過as和mxml創(chuàng)建的FlexButton組件的自定義組件:Button.as
MyASButton.as package { publicclassMyASButtonextendsButton { //Overrideinheritedmethodsandproperties. //Definenewmethodsandproperties. //DefinecustomlogicinActionScript. } } <mx:Button> <ms:Script> //Overrideinheritedmethodsandproperties. //Definenewmethodsandproperties. //DefinecustomlogicinActionScript. </mx:Script> <!--AddMXMLcode.--> </mx:Button>
上面的兩種實(shí)現(xiàn)方法都生成了一個(gè)Button類的子類。同樣的繼承了所有的屬性,方法和button類的所有元素。都可以重寫類的屬性,方法和邏輯。
注意:父類中的變量是不能被覆蓋,但是可以覆蓋通過setter和getter方法實(shí)現(xiàn)的屬性。你可以重新設(shè)置這些變量的值。
另外,如果使用mxml創(chuàng)建組建,flex編譯器完成了創(chuàng)建一個(gè)組件的子類的大部分工作,因此使用mxml創(chuàng)建組件比用as創(chuàng)建組件更加容易。
2、決定是使用mxml還是as創(chuàng)建組件
FlexBuilder教程中在創(chuàng)建組件之前需要做的一個(gè)首要決定是,使用as還是mxml。由你需要開發(fā)應(yīng)用程序來決定你需要使用什么樣的組件。
下面是一些基本的指導(dǎo)方針:
mxml和as組件都定義了新的as類?;旧纤心苡胊s完成的自定義組件都可以通過mxml來實(shí)現(xiàn)。一般來說,對(duì)于簡單的自定義組建,例如修改已有組建的一些屬性和方法,使用mxml要比使用as方便得多。當(dāng)你在新的組件中使用了別的組建,而且需要使用flexlayout容器來進(jìn)行多個(gè)組件的布局設(shè)置,那么需要使用mxml來定義。如果你想修改某一個(gè)組件的行為,例如一個(gè)容器中子元素的布局方式,則使用as。
如果你想通過創(chuàng)建UIComponent的子類來創(chuàng)建一個(gè)全新的可視化組件,則使用as。如果你想創(chuàng)建一個(gè)全新的非可視化組件,例如formatter,validator,或者effect,則使用as。注意:FlashProfessional8是不能開發(fā)AS3.0的組件的,如果要使用AS3.0開發(fā)Flex2組件,應(yīng)該使用FlexBuilderIDE。
3、組件部署
FlexBuilder教程中在部署你的mxml或as文件的自定義組件時(shí),一般將這些文件放置在你的應(yīng)用程序的子目錄內(nèi),或者一個(gè)定義好的as類路徑下。
為了保密,你可能不希望使用源碼的形式來部署你的源文件。因此你可以使用swc文件或者共享資源庫(RSL)作為用來部署的文件。
Swc文件是Flex組件的一種集合格式。使用swc文件可以方便的在開發(fā)人員之間進(jìn)行交流,這樣你使用使用一個(gè)文件,而不是很多mxml,as文件,或者圖片和其他資源。更重要的是,swc文件中的swf已經(jīng)被編譯了,這意味著你不用看著繁雜的代碼。
Swc文件可以包含多個(gè)組件,使用PKZip打包格式將其打包在一起。你可以使用winzip,jar或者任何打包工具來打開這個(gè)文件。但是,一般來說不要直接在swc外部運(yùn)行打包在swc里面的swf文件。
創(chuàng)建swc文件,需要使用compc工具,該工具在flex安裝目錄下的bin目錄內(nèi)。compc工具可以將mxml文件,或as文件,或兩種文件一起,打包成swc文件。
要縮小你的swf格式的應(yīng)用程序的大小,有一種方式是將共享資源打包到文件外部,由client下載并保存在緩存中。這些外部職員可以在程序運(yùn)行的時(shí)候多次被使用,但是只需要從服務(wù)器傳輸?shù)絚lient端一次。這些文件就是共享資源庫(RSL)。
看完上述內(nèi)容,你們掌握FlexBuilder中怎么創(chuàng)建自定義控件的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站標(biāo)題:FlexBuilder中怎么創(chuàng)建自定義控件
標(biāo)題鏈接:http://chinadenli.net/article0/pghdoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)