`
wangyisong
  • 浏览: 237116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

跟我StepByStep学FLEX教程------Demo7之页面跳转

    博客分类:
  • FLEX
阅读更多

跟我StepByStep学FLEX教程------Demo7之页面跳转

 

 

说明:该文系作者原创,请勿商用或者用于论文发表,转载必须经作者同意并且注明出处。

 

 

      Flex中的页面跳转。之所以要讲这个,因为Flex的页面跳转有很多种方式,而且和传统的jsp页面跳转或者C/S方式都有一定的区别。

     现在所讲的只是FLEX本身特色的几种方式(自然,还有其它方式)。

     先看一下Demo的界面:


      从界面就可以看出,该Demo演示了3种方式的页面跳转方式:

      1、ViewStack方式;

      2、NavigatorToUrl方式(这个函数还可以调用javascript,呵呵);

      3、LoadModule方式;

     
      可以说,每种方式都有各自的优缺点,FLEX的页面跳转方式也可以使用其它方式,特别是在项目中的页面跳转方式更要结合采用的框架本身来进行确定,这个以后的高级应用中会具体介绍。

 

      源码如下,读者可以编码体验一下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#0CBCC7, #C8F806]" creationComplete="init()">
 <mx:Script>
  <![CDATA[
      import module.MultiWinModule;
            import mx.modules.Module;
            import mx.events.ModuleEvent;
            import mx.modules.ModuleManager;
            import mx.modules.IModuleInfo;
 
            protected var moduleInfo:IModuleInfo;
           
            private function init():void {
                //创建module(此处只创建,不load)
                moduleInfo = ModuleManager.getModule("module/MultiWinModule.swf");
                //注册ready监听
                moduleInfo.addEventListener(ModuleEvent.READY, onModuleReady);
                moduleInfo.addEventListener(ModuleEvent.ERROR, onModuleLoadError);
            }
           
            protected function getModuleInfo ():IModuleInfo {
               //返回创建的module对象
               return moduleInfo;
            }
              
            private function loadModule() : void {
                //load module
                getModuleInfo().load();
            }
   
            private function unloadModule() : void {
                //unload module
                testModuleTile.removeAllChildren();
                getModuleInfo().release();           
            }
           
            private function onModuleReady(e:ModuleEvent):void {
                //currentTarget类型匹配转换
                var moduleInfo:IModuleInfo = e.currentTarget as IModuleInfo;
                //module显示列表
                testModuleTile.addChild(moduleInfo.factory.create() as MultiWinModule);
            }
           
            private function onModuleLoadError(e:ModuleEvent):void {
             
            }             
          
   private function navigatorToPage():void
   {
    //调用创建的flex页面
//    var javaeyeUrl:URLRequest = new URLRequest("page/NavigatePage.swf");
                //调用URL(或者其它jsp页面)  
    var javaeyeUrl:URLRequest=new URLRequest("http://wangyisong.iteye.com");
                navigateToURL(javaeyeUrl,"_top");
   }
   
  ]]>
 </mx:Script>
 
 <!--viewStack-->
 <mx:Panel title="多窗口方式一:ViewStack" height="209" width="429"
         paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10" fontSize="12" fontWeight="bold" fontStyle="normal" backgroundColor="#F63B09" x="10" y="22" backgroundAlpha="0.5">          
        <mx:HBox borderStyle="solid" width="388" paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5" fontSize="16">        
            <mx:Button id="searchButton" label="Search Panel"
                click="myViewStack.selectedChild=search;" fontSize="12" fontFamily="Times New Roman"/>
               
            <mx:Button id="cInfoButton" label="Customer Info Panel"
                click="myViewStack.selectedChild=custInfo;" fontSize="12" fontFamily="Times New Roman"/>
               
            <mx:Button id="aInfoButton" label="Account Panel"
                click="myViewStack.selectedChild=accountInfo;" fontSize="12" fontFamily="Times New Roman" width="102"/>
        </mx:HBox>

        <mx:ViewStack id="myViewStack" borderStyle="solid" width="387" height="103">
            <mx:Canvas id="search" backgroundColor="#FFFFCC" label="Search" width="100%" height="100%" fontSize="12" fontFamily="Times New Roman">
                <mx:Label text="Search Screen" color="#000000"/>
            </mx:Canvas>

            <mx:Canvas id="custInfo" backgroundColor="#CCFFFF" label="Customer Info" width="100%" height="100%" fontSize="12" fontFamily="Times New Roman">
                <mx:Label text="Customer Info" color="#000000"/>
            </mx:Canvas>

            <mx:Canvas id="accountInfo" backgroundColor="#FFCCFF" label="Account Info" width="100%" height="100%" fontSize="12" fontFamily="Times New Roman">
                <mx:Label text="Account Info" color="#000000"/>
            </mx:Canvas>
        </mx:ViewStack>
    </mx:Panel>
   
    <!--navigateToURL-->
    <mx:Label x="21" y="252" text="多窗口方式二:NavigatorToUrl" fontSize="12" fontWeight="bold"/>
 <mx:LinkButton y="247" label="http://wangyisong.iteye.com" click="navigatorToPage()" x="216" fontSize="16" fontFamily="Times New Roman" color="#0A1BF8" width="223"/>
   
    <!--loadModule-->
    <mx:Panel title="多窗口方式三:LoadModule" x="10" y="285" width="429" height="250" layout="absolute" fontSize="12" backgroundColor="#F0F80A" backgroundAlpha="0.5">       
        <mx:Tile id="testModuleTile" width="409" height="170" y="0" x="0">
        </mx:Tile>
       
        <mx:Button x="76" y="178" label="加载" click="loadModule()"/>
        <mx:Button x="223" y="178" label="卸载" click="unloadModule()"/>
    </mx:Panel>   
</mx:Application>

 

 

 

 

 

  • 大小: 31.3 KB
分享到:
评论
11 楼 wangsiaofish 2014-01-15  
成功,perfect.
10 楼 feifeiyu1000 2011-09-16  
MultiWinModule.mxml里面的代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="180">
<mx:Panel x="10" y="10" width="165" height="120" layout="absolute">

<mx:Button x="45.5" y="10" label="Button" fontSize="13"/>
<mx:Label x="38" y="44" text="Test Module" fontSize="14"/>
</mx:Panel>
<mx:Panel x="200" y="10" width="172" height="120" layout="absolute">
<mx:Button x="45.5" y="10" label="Button" fontSize="13"/>
<mx:Label x="38" y="44" text="Test Module" fontSize="14"/>
</mx:Panel>
</mx:Module>
9 楼 oooxxx 2011-05-03  
module.MultiWinModule里面什么内容?
作者忘了贴了吧?
8 楼 doazhang 2010-11-02  
我也想知道,import module.MultiWinModule; 到底在哪的?

7 楼 catlovefox 2010-04-19  
catlovefox 写道
stuhack0303 写道
对啊,我也想知道,import module.MultiWinModule; 到底在哪的?

我也想知道,在哪啊?


自己建了个MultiWinModule MXML Module,按照图上的控件给布置了下,还出来效果啦~ 
6 楼 catlovefox 2010-04-17  
stuhack0303 写道
对啊,我也想知道,import module.MultiWinModule; 到底在哪的?

我也想知道,在哪啊?
5 楼 stuhack0303 2010-03-05  
对啊,我也想知道,import module.MultiWinModule; 到底在哪的?
4 楼 徐晶鑫 2010-01-16  
给个目录结构 
3 楼 lichuhui 2009-11-19  
有两处错误:1:描述 资源 路径 位置 类型
1118: 属于 static 类型 Object 的值的隐式强制指令的目标可能是非相关类型 flash.display:DisplayObject。 main.mxml 9Demo7/src 第 41 行 Flex 问题

2:描述 资源 路径 位置 类型
1120: 访问的属性 MultiWinModule 未定义。 main.mxml 9Demo7/src 第 41 行 Flex 问题
2 楼 skycity220 2009-07-19  
import module.MultiWinModule;
这个在哪里啊?
1 楼 liveingo 2009-07-03  

    [asdf]
    [asdf]
    [asdf]
    [asdf]

相关推荐

    跟我StepByStep学FLEX教程-王一松.pdf

    Flex框架提供了多种方法实现页面之间的跳转和数据传递。 10. 样式和主题:Flex提供了强大的样式和主题定制功能,允许开发者控制应用程序的整体外观和感觉,包括颜色、字体、间距等。 11. FlexUnit:FlexUnit是Flex...

    跟我StepByStep学FLEX教程.pdf

    跟我StepByStep学FLEX教程.pdf 跟我StepByStep学FLEX教程.pdf 跟我StepByStep学FLEX教程.pdf 跟我StepByStep学FLEX教程.pdf 跟我StepByStep学FLEX教程.pdf

    跟我StepByStep学FLEX教程 flex教程

    Flex教程详解:逐步掌握动态富互联网应用开发 Flex是由Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和MXML标记语言。本教程旨在引导学习者一步步深入理解Flex,帮助他们...

    安装算量(实例体验)入门教程(StepByStep)---消防报警篇(2)知识.pdf

    《安装算量(实例体验)入门教程(StepByStep)---消防报警篇(2)》是一份关于建筑电气安装算量的详细指南,主要讲解了消防报警系统的布线与识别布置过程,以及工程图的分层管理。以下是教程中涉及的关键知识点: 1. **...

    安装算量(实例体验)入门教程(StepByStep)---消防水篇借鉴.pdf

    《安装算量(实例体验)入门教程(StepByStep)---消防水篇借鉴》 本文主要介绍了使用金格软件进行安装工程量计算的入门教程,特别是针对消防水系统的计算。教程分为七个章节,旨在帮助初学者逐步理解并掌握专业安装算...

    安装算量(实例体验)入门教程(StepByStep)---消防报警篇(2).pdf

    《安装算量(实例体验)入门教程(StepByStep)---消防报警篇(2)》是一份详尽的教程,旨在帮助初学者掌握安装算量软件的使用,特别是在消防报警系统的回路识别与布置方面。以下是对教程内容的详细解析: 在消防报警系统...

    FLEX教程码源集合

    2. **跟我StepByStep学FLEX教程------王一松.pdf**:这是一本面向初学者的教程,由王一松编著。通过逐步的教学方式,讲解了Flex的基础知识,包括环境搭建、界面设计、事件处理、数据绑定等内容。适合没有FLEX背景的...

    flex-超好的flex学习资料

    《跟我StepByStep学FLEX教程》是由王一松编写的,旨在通过一系列深入浅出的示例,帮助读者从零开始掌握Flex的各项技术要点,从而能够独立开发出功能丰富、交互流畅的应用程序。 一、Flex入门与环境搭建 在《跟我...

Global site tag (gtag.js) - Google Analytics