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

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

22.6.創建基于ActionScript的模塊

2024-04-27 13:52:30
字體:
來源:轉載
供稿:網友
22.6.1.問題
我想創建基于ActionScript的模塊
22.6.2.解決辦法
創建一個繼承自mx.modules.Module或mx.modules.Modulebase的ActionScript類,使用mxmlc編譯模塊。
22.6.3.討論
通過繼承Module和ModuleBase類創建基于ActionScript的模塊。根據模塊在應用程序中所扮演的角色,繼承Module或ModuleBase依據你是否需要顯示列表。Module類是一個顯示容器,繼承自FlexSprite,引入了一些框架代碼,ModuleBase類繼承自EventDispatcher,可被用來分離應用程序邏輯代碼使之不依賴于可視化元素。

基于MXML的模塊是繼承自mx.modules.Module,使用<mx:Module>作為根標簽。如果你創建的模塊包含可視化元素,你需要繼承Module類,重寫一些需要的protected方法,比如繼承自UIComponent的createChildren方法。

下面的例子演示一個帶有可供用戶輸入信息的輸入框組件模塊:
+展開
-ActionScript
package {
import mx.containers.Form;
import mx.containers.FormItem;
import mx.controls.TextInput;
import mx.modules.Module;
public class ASContactList extends Module {
private var _form:Form;
private var _firstNameItem:FormItem;
private var _lastNameItem:FormItem;
public function ASContactList() {
super();
this.percentWidth = 100;
this.percentHeight = 100;
}
override protected function createChildren():void {
super.createChildren();
_form = new Form();
_firstNameItem = createInputItem( "First Name:" );
_lastNameItem = createInputItem( "Last Name:" );
_form.addChild( _firstNameItem );
_form.addChild( _lastNameItem );
addChild( _form );
}
private function createInputItem( label:String ):FormItem {
var item:FormItem = new FormItem();
item.label = label;
item.addChild( new TextInput() );
return item;
}
}
}

編譯方式和基于MXML的模塊一樣,同樣是使用mxmlc工具:
> mxmlc ASContactList.as
這個命令生成一個名為ASContactList的SWF文件。Module類繼承自mx.core.Container,因此所有子節點組件都會被作為mx.core.IUIComponent類型被加入到顯示列表。你可以添加Flex框架的組件到ActionScript模塊的顯示列表中。如果是添加ActionScript API中的組件,比如flash.text.TextField和mx.media.Video,需要經過包裝,成為UIComponent類實例。

Module類包含框架代碼是為了與用戶界面對象交互。如果你的模塊沒有一點框架代碼,你可以繼承ModuleBase。mx.modules.ModuleBase類繼承自EventDispatcher提供一個方便的方法分離應用程序中的邏輯代碼。

下面的例子模塊是繼承自ModuleBase類:
+展開
-ActionScript
package {
import mx.modules.ModuleBase;
public class EntryStateModule extends ModuleBase {
public function EntryStateModule() {}
public function greet( first:String, last:String ):String {
return "Hello, " + first + " " + last + "." ;
}
public function welcomBack(first:String,last:String ):String {
return "Nice to see you again, " + first + "." ;
}
}
}

當被應用程序載入時,這個簡單的模塊提供一個簡單的方式,用greet和welcomeBack方法提供打招呼用語。這個模塊沒有包含任何框架代碼,因此編譯后文件大小比使用Module類的模塊小的多。

繼承自ModuleBase的模塊類的編譯方式一樣:
> mxmlc EntryStateModule.as
這個命令生成名為EntryStateModule的SWF。要訪問模塊中的公開方法,父應用程序或模塊需引用ModuleLoader實例的child屬性或IModuleInfo實現類的factory屬性,具體請看第22.8節.。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洞头县| 绥德县| 黄大仙区| 绥滨县| 鸡西市| 博兴县| 江都市| 万山特区| 元朗区| 敖汉旗| 桦南县| 阿鲁科尔沁旗| 都匀市| 美姑县| 电白县| 肥东县| 乌拉特前旗| 海淀区| 墨玉县| 大兴区| 高阳县| 大冶市| 沙田区| 柳江县| 仁布县| 平凉市| 白山市| 连江县| 宁化县| 静乐县| 富宁县| 元阳县| 大洼县| 资溪县| 河池市| 松潘县| 靖宇县| 莲花县| 茶陵县| 英吉沙县| 沛县|