云自无心水自闲

天平山上白云泉,云自无心水自闲。何必奔冲山下去,更添波浪向人间!
posts - 288, comments - 524, trackbacks - 0, articles - 6
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Flex中使用模块Module的例子

Posted on 2007-04-28 12:38 云自无心水自闲 阅读(6332) 评论(6)  编辑  收藏 所属分类: 心得体会Flex2
首先是应用的代码, 在应用中使用 <mx:ModuleLoader >来加载模块

<?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>


在这个应用中主要是一个TagNavigator, 里面有三个标签页. 每个标签页加载一个模块.
下面是其中一个模块的代码:


<?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>


最后, 应用和三个模块一共会生成4个SWF. 一般来说, 应用使用延迟加载策略. 也就是说, 如果你打开应用后, 从来都不使用其中的某个模块, 那个这个模块永远不会被加载. 这次做的好处是, 加快了第一次打开应用的速度, 但随之而来的缺点就是, 第一次打开使用某个功能, 需要加载模块时, 会需要一点等待的时间.


评论

# re: Flex中使用模块Module的例子  回复  更多评论   

2007-09-09 14:47 by bona shen
不错,谢谢!

# re: Flex中使用模块Module的例子  回复  更多评论   

2007-10-16 15:59 by lvxuehu
我正好要找这方面的例子,谢谢你;

# re: Flex中使用模块Module的例子  回复  更多评论   

2007-12-05 12:00 by xinyu
谢谢

# re: Flex中使用模块Module的例子  回复  更多评论   

2008-04-30 19:53 by Apache
不错,谢谢!

# re: Flex中使用模块Module的例子  回复  更多评论   

2008-11-04 13:34 by y.
不错,谢谢

# re: Flex中使用模块Module的例子  回复  更多评论   

2009-01-04 16:28 by whp
不错
你的酱油我打了

只有注册用户登录后才能发表评论。


网站导航: