国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

7.2.使用ClassFactory 生成渲染器

2024-04-27 13:51:59
字體:
供稿:網(wǎng)友
7.2.1.問題
你想要在運(yùn)行時(shí)改變List 或DataGridColumn 的渲染器,或改變渲染器的屬性。
7.2.2.解決辦法
使用一個(gè)ClassFactory 對(duì)象做為ItmeRdnerer。ClassFacotry 實(shí)現(xiàn)了IFactory 接口,你只要傳一個(gè)類對(duì)象(即Class 類型的對(duì)象)給它,它就可以生成這個(gè)類的對(duì)象。
7.2.3.討論
這種解決辦法,使用了工廠設(shè)計(jì)模式,并且使用了flex 的一些內(nèi)部機(jī)制。在使用工廠模式時(shí),你需要指定一個(gè)類型給工廠,這個(gè)類型的對(duì)象會(huì)被工廠類產(chǎn)生并做為渲染器使用,并且工廠類可以控制渲染器的生命周期。那么我們?nèi)绾伟杨愋椭付ńo工廠類呢?我們需要傳一個(gè)類對(duì)象給工廠類,正如下邊的代碼:
+展開
-ActionScript
var factory:ClassFactory = new ClassFactory(oreilly.cookbook.SevenTwoFactory);

在這里原文提到了SevenTwoFactory 繼承IFactory 等等,大家需要多了解一些ClassFactory 的相關(guān)知識(shí),在實(shí)際操作中,我們一般都是創(chuàng)建ClassFactory 的實(shí)例賦值itemRenderer,因?yàn)閟et itemRenderer 方法需要的參數(shù)是IFactory 類型,系統(tǒng)最終會(huì)用這個(gè)factory 對(duì)象實(shí)例我們的renderer。也就是說,我們給系統(tǒng)的不是一個(gè)renderer 而是一個(gè)能產(chǎn)生renderer 的factory,在系統(tǒng)需要時(shí)自己用factory 產(chǎn)生renderer 的實(shí)例,也許細(xì)心的讀者會(huì)發(fā)現(xiàn),當(dāng)我們寫mxml 的時(shí)候,itemRenderer 的屬性可以賦值一個(gè)類路徑,這就是因?yàn)閒lex 對(duì)mxml 里的itemRenderer 做了一些特殊的功能,如果你傳的是一個(gè)類路徑,系統(tǒng)幫你創(chuàng)建一個(gè)ClassFactory。,在本節(jié)的例子中其實(shí)在我們的應(yīng)用中SevenTwoFactory 只需是一個(gè)普通的類就OK 了,我看了本節(jié)后邊evenTwoFactory 的代碼,

覺得作者這樣做沒有必要,所以還是不扯SevenTwoFactory 和IFactory 的關(guān)系了,不然反倒讓大家糊涂。在這里我們只需要知道, ClassFactory 的實(shí)例,賦值給list 或DataGrid的itemRenderer 屬性,系統(tǒng)會(huì)幫我們產(chǎn)生item renderer。
+展開
-XML
<cookbook:PurgeList id="listitemRenderer="{factory}width="300"/>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泗阳县| 蓬溪县| 错那县| 定襄县| 万盛区| 年辖:市辖区| 荃湾区| 花莲县| 龙陵县| 临桂县| 海南省| 马鞍山市| 鄂尔多斯市| 无棣县| 和龙市| 司法| 宝丰县| 遵化市| 准格尔旗| 江孜县| 德阳市| 辰溪县| 盐源县| 商洛市| 岑巩县| 余庆县| 九江市| 建平县| 屯门区| 五华县| 建德市| 五华县| 扎囊县| 保亭| 威海市| 汉寿县| 桑植县| 盐亭县| 龙州县| 汝州市| 耿马|