国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 剑阁县| 腾冲县| 云南省| 聂荣县| 郸城县| 保德县| 砀山县| 大田县| 红原县| 沙雅县| 都江堰市| 南丹县| 游戏| 湾仔区| 民勤县| 闵行区| 墨玉县| 杭锦后旗| 油尖旺区| 蓬安县| 右玉县| 肥城市| 浙江省| 毕节市| 武陟县| 台山市| 高州市| 茶陵县| 全南县| 玉门市| 甘孜县| 西林县| 上杭县| 山东| 平湖市| 茂名市| 云和县| 周宁县| 灌云县| 康马县| 平南县|