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

Adobe AIR迷你教程 -- 创建多窗口以及弹出窗口与父窗口的通讯

    博客分类:
  • flex
阅读更多
Adobe AIR迷你教程 -- 创建多窗口以及弹出窗口与父窗口的通讯
http://bbs.airia.cn/Share/thread-2762-1-1.aspx
今天说一下AIR中的window, 作为桌面应用,免不了会有多窗口存在的可能。所以这也是AIR于Flex web的另一区别。flex web应用的“窗口”都是内部窗口,不管你怎么拖拽它也不会超出flash player的范围。而我们今天说的air中的窗口,是没有范围限制的,任一窗口都可以说是一个“独立”的存在,不受主程序窗口的限制。

Demo主要有以下功能。

1. 简单继承window类创建MyWindow。加入parentWindow属性以及advOpen()方法, 设置MyWindow默认样式。
2. 从主程序中弹出窗口1,从窗口1中弹出窗口2。每个窗口里有image和button
3. 窗口1可以关闭主程序窗口,窗口2可以关闭窗口1。(关闭父窗口)

1. 简单继承window类创建MyWindow。加入parentWindow属性以及advOpen()方法, 设置MyWindow默认样式。

下面是我继承于WIndow的MyWindow,构造方法中设置了默认样式,parentWindow用于在打开窗口时保存父窗口对象。

public class MyWindow extends Window
{
   public var parentWindow:Object;

   public function MyWindow()
   {
       this.systemChrome = "none"; //不显示系统窗口
       this.showStatusBar = false; //不显示底部状态栏
       this.showGripper = false;   //不显示底部大小控制按钮
   }

   /**
    * 自定义open()打开窗口并且保存调用此方法的对象
    */
   public function advOpen(parentWindow:Object,openWindowActive:Boolean = true):void{
       this.parentWindow = parentWindow;
       this.open(true)
   }

}

2. 从主程序中弹出窗口1,从窗口1中弹出窗口2。每个窗口里有image和button
3. 窗口1可以关闭主程序窗口,窗口2可以关闭窗口1。(关闭父窗口)

下面是窗口1类,继承于MyWindow。在主程序中用了与下面相同的openWin打开窗口1,可以看倒在调用winX.advOpen时传入了当前对象作为被打开窗口的parentWindow. 下面的closeParent()中利用保存的 parentWindow关闭父窗口。

<local:MyWindow  xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="435" height="320" xmlns:local="*">
<mx:Script>
<![CDATA[
   import mx.core.Window;

   //打开窗口2
   private function openWin():void{
       var win2:PicTwo = new PicTwo();
       win2.advOpen(this);
       win2.move(500,50)
   }

   //关闭父窗口
   private function closeParent():void{
       if(this.parentWindow.hasOwnProperty("close")){ //检查父窗口中是否有close方法。
           this.parentWindow.close(); //调用父窗口的close方法
       }
   }
]]>
</mx:Script>
<mx:Canvas>
<mx:Image source="@Embed('images/2.png')" />
<mx:Button label="打开我的表情2" click="openWin()"  x="325" y="174"/>
<mx:Button label="关闭父窗口" click="closeParent()" x="342" y="204"/>
</mx:Canvas>
</local:MyWindow>

主程序

<mx:WindowedApplication showStatusBar="false" showGripper="false" xmlns:mx="http://www.adobe.com/2006/mxml" width="430" height="328" layout="absolute">
<mx:Script>
<![CDATA[
   import mx.core.Window;
   private function openWin():void{
       //新建window对象
       var win:PicOne = new  PicOne();
       win.advOpen(this); //弹出窗口
       win.move(50,50);

   }
]]>
</mx:Script>
<mx:Canvas>
<mx:Image source="@Embed('images/1.png')" />
<mx:Button label="打开我的表情1" click="openWin()"  x="325" y="174"/>
</mx:Canvas>

</mx:WindowedApplication>
分享到:
评论

相关推荐

    创建多窗口以及弹出窗口与父窗口的通讯

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何在Adobe AIR或Flex Web应用程序中实现多窗口管理以及父窗口与子窗口(弹出窗口)之间的通信机制。Adobe AIR是一个由Adobe Systems...

    使用Flex开发Adobe AIR程序--桌面快捷方式管理器

    使用Flex开发Adobe AIR程序--桌面快捷方式管理器,适合新手进一步熟悉api,遇到典型的问题,1)调用外部exe文件,2)打包,3)读写文件,路径问题,...

    AdobeAIR入门教程

    1. **Adobe AIR概述**:了解Adobe AIR的基本概念,包括它的功能、适用范围以及与Adobe Flash Player的区别。Adobe AIR为开发者提供了一个可以在桌面系统上运行Web技术的平台,使得Web应用可以拥有更丰富的交互性和...

    adobe air runtime version 50.2.4.1 for windows

    Adobe AIR(Adobe Integrated Runtime)是Adobe公司开发的一款跨平台的应用程序运行环境,它允许开发者使用HTML、CSS、JavaScript以及ActionScript等技术创建桌面应用程序。标题中的"adobe air runtime version 50.2...

    ADOBE AIR 教程

    ADOBE AIR(Adobe Integrated Runtime)是Adobe公司推出的一款跨平台的应用程序运行环境,它允许开发者使用HTML、CSS、JavaScript以及ActionScript等Web技术创建桌面应用程序。这个教程将带你深入理解ADOBE AIR,...

    adobe air runtime version 33.1.1.744 for Mac

    在压缩包文件名称"AdobeAIR-Runtime-Mac-v33.1.1.744"中,我们可以推断出这个压缩文件包含了Adobe AIR运行时的安装程序,专为Mac用户设计,并且是版本33.1.1.744。 安装Adobe AIR运行时后,开发者可以使用Adobe ...

    Adobe AIR开发教程

    一本关于FLEX adobe AIR 开发的入门书籍。很适合刚接触AIR开发的人。挺不好找的。

    adobe air runtime version 33.1.1.744 for windows

    Adobe AIR(Adobe Integrated Runtime)是Adobe公司开发的一款跨平台的应用程序运行环境,它允许开发者使用HTML、CSS、JavaScript以及ActionScript等技术创建桌面应用程序。在本案例中,我们讨论的是Adobe AIR ...

    AIR教程-AIR教程

    在本文中,我们将深入探讨Adobe AIR(Adobe Integrated Runtime)教程中的关键知识点,特别是关于创建右键菜单和系统托盘(Tray)功能的实现方法。Adobe AIR允许开发者构建跨平台的桌面应用程序,结合了Flash和Flex...

    Adobe Air 入门教程

    ### Adobe Air 入门教程详解 #### 创建 Adobe AIR 文件 Adobe AIR 技术允许开发者使用 Flash 或 HTML 来创建跨平台的应用程序。首先,你需要在 Adobe Flash CS3 Professional 中创建一个新的 AIR FLA 文件。这一...

    Adobe Air Programming Unleashed

    通过对Adobe AIR的介绍、开发环境的搭建、编程语言与框架的学习以及实战案例的分析,读者能够掌握开发高质量跨平台应用程序所需的技能。此外,书中还详细介绍了Adobe AIR的安全性、调试方法以及最终的应用发布流程,...

    dreamweaver的adobe air扩展Adobe_AIR.mxp

    标题中的“dreamweaver的adobe air扩展Adobe_AIR.mxp”指的是Adobe Dreamweaver中的一个特定扩展,用于支持Adobe AIR技术。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,允许开发者使用HTML、CSS...

    the-essential-guide-to-flash-cs4-air-development-friends-of-ed-adobe-learning-library

    《Adobe AIR 开发实战:Flash CS4 与 Friends of ED 教育库完全指南》是针对Adobe AIR(Adobe Integrated Runtime)开发的一本详尽教程,适用于希望通过Flash CS4进行跨平台应用程序开发的学习者。这本书深入介绍了...

    Android移动开发--基于Adobe AIR 源代码

    使用Adobe AIR,开发者可以创建AIR应用程序描述符文件(.xml),并使用ADT(Adobe AIR Developer Tool)将应用打包成APK,然后在Google Play或其他第三方市场发布。 7. **性能优化** 虽然Adobe AIR提供了跨平台的...

    flash adobe air 采集音视频 软件

    标题中的“flash adobe air 采集音视频 软件”指的是使用Adobe AIR技术开发的,能够捕获、处理和推流音视频的软件应用。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,允许开发者使用Flash、Flex或...

    Adobe AIR 阅读器

    Adobe AIR (Adobe Integrated Runtime) 是一个跨平台的运行环境,由Adobe公司开发,它允许开发者创建桌面应用程序,这些应用程序能够利用Web技术,如HTML、CSS、JavaScript,同时也能利用ActionScript,这是Adobe ...

    使用AdobeAIR开发android应用

    通过充分利用Adobe AIR的强大功能,开发者不仅能够创建出美观且功能丰富的应用,还能够享受跨平台开发带来的便捷性。然而,值得注意的是,虽然Adobe AIR降低了开发的门槛,但深入理解和掌握相关技术仍然是成功开发高...

    adobe-air-in-action

    This is a book about Adobe AIR for Flash and Flex developers. Although it’s entirely possible to create AIR applications using HTML and JavaScript, this book focuses exclusively on using Flash and ...

    adobe air 入门示例

    这篇博客"adobe air 入门示例"很可能是引导初学者了解如何使用Adobe AIR创建桌面应用的一个教程。 在源码和工具的标签下,我们可以推测这篇博客会包含以下知识点: 1. **Adobe AIR基础**:首先,文章可能会介绍...

Global site tag (gtag.js) - Google Analytics