FlexModuleDemo.mxml
<?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,loadReady);
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中的方法
}
//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>
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>
PictureWindowInterface.as
package
{
public interface PictureWindowInterface
{
function setSelectIndex(index:int):void
}
}
284

被折叠的 条评论
为什么被折叠?



