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

首頁 > 網站 > WEB開發 > 正文

7.2.使用ClassFactory 生成渲染器

2024-04-27 13:51:59
字體:
來源:轉載
供稿:網友
7.2.1.問題
你想要在運行時改變List 或DataGridColumn 的渲染器,或改變渲染器的屬性。
7.2.2.解決辦法
使用一個ClassFactory 對象做為ItmeRdnerer。ClassFacotry 實現了IFactory 接口,你只要傳一個類對象(即Class 類型的對象)給它,它就可以生成這個類的對象。
7.2.3.討論
這種解決辦法,使用了工廠設計模式,并且使用了flex 的一些內部機制。在使用工廠模式時,你需要指定一個類型給工廠,這個類型的對象會被工廠類產生并做為渲染器使用,并且工廠類可以控制渲染器的生命周期。那么我們如何把類型指定給工廠類呢?我們需要傳一個類對象給工廠類,正如下邊的代碼:
+展開
-ActionScript
var factory:ClassFactory = new ClassFactory(oreilly.cookbook.SevenTwoFactory);

在這里原文提到了SevenTwoFactory 繼承IFactory 等等,大家需要多了解一些ClassFactory 的相關知識,在實際操作中,我們一般都是創建ClassFactory 的實例賦值itemRenderer,因為set itemRenderer 方法需要的參數是IFactory 類型,系統最終會用這個factory 對象實例我們的renderer。也就是說,我們給系統的不是一個renderer 而是一個能產生renderer 的factory,在系統需要時自己用factory 產生renderer 的實例,也許細心的讀者會發現,當我們寫mxml 的時候,itemRenderer 的屬性可以賦值一個類路徑,這就是因為flex 對mxml 里的itemRenderer 做了一些特殊的功能,如果你傳的是一個類路徑,系統幫你創建一個ClassFactory。,在本節的例子中其實在我們的應用中SevenTwoFactory 只需是一個普通的類就OK 了,我看了本節后邊evenTwoFactory 的代碼,

覺得作者這樣做沒有必要,所以還是不扯SevenTwoFactory 和IFactory 的關系了,不然反倒讓大家糊涂。在這里我們只需要知道, ClassFactory 的實例,賦值給list 或DataGrid的itemRenderer 屬性,系統會幫我們產生item renderer。
+展開
-XML
<cookbook:PurgeList id="listitemRenderer="{factory}width="300"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 珠海市| 宁国市| 桃江县| 宾阳县| 马鞍山市| 万山特区| 金溪县| 神农架林区| 南靖县| 济阳县| 新余市| 休宁县| 孟连| 武城县| 廊坊市| 会宁县| 武邑县| 樟树市| 三明市| 景东| 十堰市| 环江| 静安区| 南丹县| 河北区| 原平市| 民权县| 怀集县| 长葛市| 电白县| 松溪县| 旅游| 阳山县| 白城市| 定襄县| 孝义市| 康保县| 湘乡市| 常宁市| 都昌县| 张北县|