国产探花免费观看_亚洲丰满少妇自慰呻吟_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"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴彦淖尔市| 柳州市| 潼南县| 高密市| 沂南县| 如皋市| 巧家县| 金阳县| 云和县| 纳雍县| 通渭县| 惠水县| 全椒县| 潍坊市| 灌云县| 石家庄市| 白城市| 清新县| 崇礼县| 剑川县| 靖西县| 通许县| 太保市| 呼玛县| 大连市| 贵德县| 天门市| 方城县| 会宁县| 黎平县| 拉孜县| 获嘉县| 灯塔市| 临沂市| 从化市| 古蔺县| 诸暨市| 浪卡子县| 宜黄县| 上思县| 萨迦县|