国产探花免费观看_亚洲丰满少妇自慰呻吟_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節.。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东辽县| 北流市| 吉水县| 平远县| 陕西省| 涞源县| 襄城县| 内丘县| 吴忠市| 黑山县| 锡林浩特市| 靖西县| 黄山市| 巩留县| 固阳县| 珠海市| 印江| 田东县| 安岳县| 四子王旗| 连州市| 个旧市| 刚察县| 盘锦市| 家居| 安西县| 商南县| 石棉县| 苍南县| 穆棱市| 陇西县| 偏关县| 深泽县| 申扎县| 桂林市| 晴隆县| 韩城市| 防城港市| 德阳市| 揭阳市| 左云县|