module 接口文件 PictureWindowInterface.as package { public interface PictureWindowInterface { function setSelectIndex(index:int):void } } moudule 文件 PictureWindow.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%" implements="PictureWindowInterface"> <mx:Script> <!--[CDATA[ import mx.core.Application; [Embed("image/pic1.jpg")] private var pic1:Class; [Embed("image/pic2.jpg")] private var pic2:Class; public function setSelectIndex(index:int):void{ this.combo.selectedIndex = index } ]]--> </mx:Script> <mx:ComboBox id="combo" labelField="value" valueCommit="{img.source = this[combo.selectedLabel]}" > <mx:dataProvider> <mx:Object value="pic1" /> <mx:Object value = "pic2" /> </mx:dataProvider> </mx:ComboBox> <mx:Image id="img" width="800" height="500"> </mx:Image> </mx:Module> 主程序文件 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="left" layout="vertical" xmlns:local="*"> <mx:Script> <!--[CDATA[ import mx.modules.ModuleLoader; import mx.events.ModuleEvent; import mx.modules.IModuleInfo; import mx.modules.ModuleManager; private var m:IModuleInfo; private function loadModule():void{ m = ModuleManager.getModule("PictureWindow.swf"); //设置Module地址,地址是编译后swf在bin中的位置 //设置事件监听 m.addEventListener(ModuleEvent.READY,loadReady); m.addEventListener(ModuleEvent.PROGRESS,loading); m.addEventListener(ModuleEvent.ERROR,loadError); m.load(); //加载Module } //Module加载完成 private function loadReady(e:ModuleEvent):void{ //将Module对象转换为PictureWindowInterface //[接口] var window:PictureWindowInterface = e.module.factory.create() as PictureWindowInterface this.box.addChild(window as DisplayObject); window.setSelectIndex(1); //通过Interface调用Module中的方法 trace('loadready'); } //Module加载中...... private function loading(e:ModuleEvent):void{ trace("显示Loading提示") } //Module加载失败 private function loadError(e:ModuleEvent):void{ trace("错误处理") } ]]--> </mx:Script> <mx:Button label="加入ModuleWindow" click="loadModule()" /> <mx:Box id="box" width="100%" height="100%" /> </mx:Application>