[flash=200,200]
一、module
1 overview
module是可以由application加载和卸载的swf文件。通过将application分解成若干个module,可以减小application文件的大小,并减少首次加载的时间。module不能独立于application运行,也不能加载到浏览器窗口,只能通过application加载
2 write
可以通过AS代码或MXML标签定义module
MXML方式:
<?xml version="1.0"?>
<!-- modules/moduletest.mxml -->
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" >
<mx:Label text="Module Test"/>
</mx:Module>
AS方式:必须继承mx.modules.ModuleBase或mx.modules.Module
// modules/asmodules/SimpleModule.as
package {
import mx.modules.ModuleBase;
public class SimpleModule extends ModuleBase {
public function SimpleModule() {
trace("SimpleModule created");
}
public function computeAnswer(a:Number, b:Number):Number {
return a + b;
}
}
}
3 compile
可使用命令行mxmlc编译模块。
module的大小依赖于它所包含的组件和类,如果module链接了与application类重叠的类则module会比较大,要减小module的大小,需要把module指向由application包含的具体类。module只包含它需要的类,框架代码及其他依赖代码包含在application中。若用命令行编译,需要为application创建一个linker report,并把这个report放入module的编译选项中
mxmlc: -link-report=report.xml MyApplication.mxml
mxmlc: -load-extern=report.xml MyModule.mxml
4 load
<?xml version="1.0"?>
<!-- modules/ASModuleLoaderApp.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.modules.*;
public function createModule(m:ModuleLoader, s:String):void {
if (!m.url) {
m.url = s;
return;
}
m.loadModule();
}
public function removeModule(m:ModuleLoader):void {
m.unloadModule();
}
]]>
</mx:Script>
<mx:Panel title="Module Example" >
<mx:VBox id="vb1" label="Column Chart Module">
<mx:Button label="Load" click="createModule(chartModuleLoader, l1.text)" />
<mx:Button label="Unload" click="removeModule(chartModuleLoader)" />
<mx:Label id="l1" text="Module1.swf"/>
<mx:ModuleLoader id="chartModuleLoader"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
二:窗口传值
子窗口定义
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="296" height="379">
<mx:Script>
<![CDATA[
[Bindable]
public var functionXml:XML; //定义子窗口属性
]]>
</mx:Script>
</mx:Application>
父窗口定义
import mx.managers.PopUpManager;
private function openFunc(event:MouseEvent):void
{
var child:ChildWindow= ChildWindow(PopUpManager.createPopUp(this,ChildWindow,true));
child.functionXml = XML({xmlData}); //为子窗口传值
}
[/flash]
<?xml version="1.0"?>
<!-- modules/URLModuleLoaderApp.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="srcview/index.html">
<mx:Panel title="Module Example"
height="90%"
width="90%"
paddingTop="10"
paddingLeft="10"
paddingRight="10"
paddingBottom="10">
<mx:Label width="100%"
color="blue"
text="Select the tabs to change the panel."/>
<mx:TabNavigator id="tn"
width="100%"
height="100%"
creationPolicy="auto">
<mx:VBox id="vb1"
label="Column Chart Module">
<mx:Label id="l1"
text="ColumnChartModule.swf"/>
<mx:ModuleLoader url="ColumnChartModule.swf"/>
</mx:VBox>
<mx:VBox id="vb2"
label="Pie Chart Module">
<mx:Label id="l2"
text="piehchartmodule.swf"/>
<mx:ModuleLoader url="piechartmodule.swf"/>
</mx:VBox>
<mx:VBox id="vb3"
label="Line Chart Module">
<mx:Label id="l3"
text="linehchartmodule.swf"/>
<mx:ModuleLoader url="linechartmodule.swf"/>
</mx:VBox>
</mx:TabNavigator>
</mx:Panel>
</mx:Application>
linechartmodule.mxml
<?xml version="1.0"?>
<!--ColumnChartModule.mxml -->
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%"
height="100%">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var expenses:ArrayCollection=new ArrayCollection([
{Month: "Jan", Profit: 2000, Expenses: 1500},
{Month: "Feb", Profit: 1000, Expenses: 200},
{Month: "Mar", Profit: 1500, Expenses: 500}]);
]]>
</mx:Script>
<mx:ColumnChart id="myChart"
dataProvider="{expenses}">
<mx:horizontalAxis>
<mx:CategoryAxis dataProvider="{expenses}"
categoryField="Month"/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries xField="Month"
yField="Profit"
displayName="Profit"/>
<mx:ColumnSeries xField="Month"
yField="Expenses"
displayName="Expenses"/>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{myChart}"/>
</mx:Module>
分享到:
相关推荐
org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包,org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3....
在提供的压缩包文件中,readme.txt可能包含了关于如何使用FlexModule_j2ee的详细说明,包括安装步骤、配置指导以及示例代码。而webtier.war文件则可能是一个已经打包好的Web应用,展示了FlexModule_j2ee的使用示例...
这可能是描述中提到的,为何在安装Wireshark时需要使用Flex的原因。 在Flex-2.5.4子目录中,用户通常会找到以下文件和目录: 1. `README`:包含了关于如何编译、安装和使用Flex的说明。 2. `configure`:一个脚本...
2. **主程序**:主程序文件,如`flex.c`和`flex.h`,这些文件用于构建Flex词法分析器生成器本身。 3. **配置脚本**:如`configure`,这是一个自动化脚本,用于检测系统环境并创建合适的Makefile来编译Flex。 4. *...
1. **执行文件**:在这里是生成的Flex词法分析器可执行文件,可能命名为`flex`或`flex.exe`。 2. **库文件**:Flex可能依赖的一些库文件,例如`libfl.so`,它们在运行时提供必要的功能支持。 3. **配置文件**:如`/...
使用Flex时,你需要创建一个输入文件(如`lexer.l`),在这个文件中定义规则,每个规则描述了一种特定的文本模式及其对应的处理方式。例如,你可以定义一个规则来匹配数字,并将它们转化为整数标记: ```flex %{ #...
[Flex.3权威指南].(美)塔伯.扫描版.part02 [Flex.3权威指南].(美)塔伯.扫描版.part02 [Flex.3权威指南].(美)塔伯.扫描版.part02
1. `flex.c` 和 `flex.h`:这是Flex生成器的主要源代码和头文件。 2. `l lex.yy.c`:由flex工具根据用户定义的lex规则文件(如`flex.l`)生成的C源代码,包含了词法分析器的核心逻辑。 3. `Makefile`:编译和构建...
flex3需要用到的flex.war即是lcds.war,现提供下载! flex.war=lcds.war 此版本为Adobe® LiveCycle® Data Services ES Version 2.6.1
使用flex布局的前端静态网页.zip使用flex布局的前端静态网页.zip使用flex布局的前端静态网页.zip使用flex布局的前端静态网页.zip使用flex布局的前端静态网页.zip
FlexModule_j2ee.zip是一个压缩包,包含了将Flex前端技术集成到JSP(JavaServer Pages)和J2EE(Java 2 Platform, Enterprise Edition)后端环境中的示例工程。这个项目旨在展示如何在传统的Web应用中嵌入富互联网...
the Flex 3 compiler module for J2EE application servers.
flex-2.6.0.tar.bz2
flexbuild_lsdk2108.tgz LSDK,解压后执行source setup.env && flex-builder -m ls1043ardb -a arm64下自动下载完整的LSDK。
"flex"是这个包的核心组件,它是一个开源工具,用于生成词法分析器(lexer),通常在编译器构造、解析器开发或者处理结构化文本输入时使用。版本号"2.5.39"表示这是flex工具的一个具体发行版,意味着它可能包含了该...
不要以为我要5分很高,这个绝对是官网资源,其中包含各位最一直在寻找却找不到即使找到也不好用的 flex-bootstrap-jsp.jar flex-bootstrap.jar flex-webtier-jsp.jar flex-webtier.jar
微信小程序 - FlexLayout布局【源码】.zip 微信小程序 - FlexLayout布局【源码】.zip 微信小程序 - FlexLayout布局【源码】.zip 微信小程序 - FlexLayout布局【源码】.zip 微信小程序 - FlexLayout布局【源码】.zip ...
Flex3.Style.Explorer.V3.0 是一个专为FLEX开发者设计的强大工具,它使得创建和管理CSS(Cascading Style Sheets)样式变得更加直观和高效。在Flex开发中,CSS样式的应用对于构建用户界面的外观和交互性起着至关重要...
Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar Flex通过servlet连接数据库access.rar
Flex3.Style.Explorer.V3.0.Beta 是一个专门针对Adobe Flex 3的样式探索工具,它允许开发者和设计师深入地了解和实验Flex 3框架中的CSS(Cascading Style Sheets)样式应用。这个工具的Beta版本提供了对SWF(Small ...