`
xo_tobacoo
  • 浏览: 390893 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

AIR处理窗体关闭事件(在窗体关闭前提示用户做收尾工作)

阅读更多

我们知道用任何一个桌面应用程序在关闭前都会有收尾工作,比如:记录用户操作状态、是否保存已经编辑过的文件等。
        如果是在C#或者Java中,这种操作很方便,因为需要用户操作时程序会停止等待用户操作,直到操作完成后才继续执行程序,但是AS3不是这样的,AS3 的事件执行时不会因为等待用户操作而停止执行,AS3就像一从来都不知道等待的家伙(其实AS3没有等待也是正常现象,因为我们知道flash player是单线程的,如果要等待用户操作的话,那么整个程序就没法执行其它的任务了)。所以处理事件稍微有点麻烦。
下面我们用一个例子来说明如何在AIR程序关闭前弹出一个对话框来响应用户的操作。
        打开FlexBuilder,新建一个Flex Project,如下图所示:


        然后在弹出的对话框中选择“desktop application”,如下图所示:

        然后点击“确定”就创建了一个AIR工程,在生成的主文件里写入以下代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication addedToStage="init();" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.events.CloseEvent;
            import mx.controls.Alert;
            private function init():void{
                stage.nativeWindow.addEventListener(Event.CLOSING,closing);
            }
           
            private function closing(event:Event):void{
                //取消事件的默认行为,在实际使用时可以指定条件来执行这句话
                event.preventDefault();
               
                Alert.show("您确定要关闭窗口吗?","关闭窗口提示",Alert.YES|Alert.NO,this,closeHandler);
            }
           
            private function closeHandler(event:CloseEvent):void{
                event.detail==Alert.YES?stage.nativeWindow.close():null;
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>
            按F11来调试我们的程序,可以试试关闭窗体时的程序收尾工作是否有效。

分享到:
评论

相关推荐

    AIR桌面应用(自定义任务栏图标、类QQ消息提示窗体)

    其次,**类QQ消息提示窗体**是模仿QQ等即时通讯软件的通知方式,它可以在不干扰用户主界面工作的情况下,提供即时消息通知。在AIR中,可以使用Flex或Flash Builder等开发工具创建这样的窗体。窗体通常由一个半透明...

    MacBook.Air 用户手册

    1. **启动与关闭**: 解释如何正确开机、关机以及进入安全模式等特殊启动选项,帮助用户处理可能出现的系统问题。 2. **硬件介绍**: 对MacBook Air的外观设计、显示屏、键盘、触控板、电源适配器等硬件部件进行详细...

    大疆MAVIC AIR-用户说明书-手册 V1.2.pdf

    根据文件《大疆MAVIC AIR-用户说明书-手册 V1.2.pdf》中的内容,以下是一些详细的知识点: 1. 文件基本信息:《大疆MAVIC AIR-用户说明书-手册 V1.2.pdf》是由大疆创新公司版权所有,于2018年5月发布。用户可以通过...

    Air780E-硬件设计手册-V1.2.1

    Air780E硬件设计手册是一份详细的设计指南,旨在帮助用户设计和开发基于Air780E的产品。该手册涵盖了Air780E的硬件设计、电路设计、接口定义、性能参数等方面的知识。 1.绪论 Air780E是一款高性能的微控制器单元...

    全AIR 的 Socket通信(air服务端、air客户端)

    在处理这些事件时,确保正确关闭Socket连接,防止资源泄漏。 在实际项目中,可能还需要考虑错误处理、多线程、并发连接等问题。此外,由于AIR应用是在桌面环境中运行,所以还要考虑到网络状态的变化,如网络断开或...

    在windows下激活Airprint无线打印 AirPrint+Activator

    想在PC上启用AirPrint的Windows用户注意了,一款新工具“AirPrint Activator”将实现你的愿望。  该工具同时兼容32位、64位Windows设备,完全安装仅需三个简单步骤。  Step 1:  选择系统。  Step 2:  在...

    as3 adobe air ios airplay

    7. **事件监听与处理**:为了确保良好的用户体验,开发者需要监听AirPlay设备的状态变化,如连接断开或新的设备出现,以便及时调整应用程序的行为。 8. **性能优化**:考虑到无线传输可能带来的延迟和带宽限制,...

    AIR应用开发中文指南

    - **监听窗体事件**: 处理与窗体相关的事件,如打开、关闭、最大化等。 - **全屏模式**: 了解如何使窗体进入全屏模式。 - **菜单**: 介绍 AIR 菜单的基本概念和创建方法。 #### 6. 文件与数据管理 - **文件系统概要...

    airplay播放器airmusic使用说明

    AirMusic通过Wi-Fi技术与Apple的AirPlay功能协同工作,实现高品质音乐的无线播放。 首先,我们需要了解AirMusic设备的特点。它之所以采用Wi-Fi而非蓝牙技术,是因为Wi-Fi的最大传输速率高达150Mbps,远高于蓝牙4.0...

    AIR教程-AIR教程

    在`closingApplication`事件处理器中,你可以选择最小化到托盘而不是完全关闭应用程序,或者弹出一个确认对话框询问用户是否真的要退出。 总的来说,通过使用Adobe AIR提供的API,开发者可以轻松地为应用程序添加...

    xindawn-windows-airplay-master.zip_Air Media Serve_airplay_airpl

    在当今数字化时代,无线音频和视频传输技术日益普及,其中AirPlay是苹果公司推出的一种强大的无线媒体流协议,它允许用户将iPhone、iPad或Mac等设备上的媒体内容无线投屏到其他支持AirPlay的设备上。本文将深入探讨...

    Flex4 Air 自定义窗口

    Flex4 AIR自定义窗口是一种高级的用户界面设计技术,它允许开发者创建出具有独特特性和交互体验的应用程序。在本文中,我们将深入探讨Flex4和Adobe Integrated Runtime (AIR)如何结合,实现自定义窗口功能,包括窗口...

    airplay java客户端

    AirPlay 是苹果公司推出的一种无线流媒体协议,它允许用户在不同的Apple设备间无缝共享音频、视频、照片和屏幕镜像。"Airplay java客户端"指的是一个使用Java编程语言实现的客户端程序,能够与AirPlay服务器进行交互...

    Air530 GPS模块用户手册V1.7.pdf

    Air530模块的一大特点是其射频基带一体化设计,将DC/DC转换器、LDO稳压器、低噪声放大器(LNA)、射频前端、基带处理芯片、32位RISC CPU、RAM、FLASH存储、实时时钟(RTC)和电源管理单元集成在一个紧凑的封装中,...

    FLASH AIR触控手势开发实例

    在实际开发中,开发者需要根据不同的需求选择合适的触控事件监听器,并在相应的事件处理函数中编写响应逻辑,以此来创建丰富的用户交互体验。此外,FLASH AIR的多点触控开发还涉及到坐标转换、事件冒泡和捕获、手势...

    大疆无人机说明书_Mavic_Air_用户手册_V1.2

    "大疆无人机说明书_Mavic_Air_用户手册_V1.2" 大疆无人机Mavic Air用户手册V1.2是大疆创新公司出品的一份详细的用户手册,...在使用Mavic Air之前,用户务必阅读和理解本手册中的内容,以确保正确和安全地使用本产品。

    用Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标

    标题中的“用Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标”表明了这个项目是关于使用Adobe Flex和Adobe Integrated Runtime (AIR) 开发一个功能,该功能模仿了腾讯QQ的消息提示方式,即当有新消息时,系统托盘...

    flex air中文官方帮助文档

    Flex Air是中国Adobe公司开发的一款基于Flash技术的富互联网应用程序(RIA)开发平台,它允许开发者创建可以在桌面运行的跨平台应用程序。本“Flex Air中文官方帮助文档”是开发者的重要参考资料,详细介绍了Flex ...

Global site tag (gtag.js) - Google Analytics