我们知道用任何一个桌面应用程序在关闭前都会有收尾工作,比如:记录用户操作状态、是否保存已经编辑过的文件等。
如果是在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来调试我们的程序,可以试试关闭窗体时的程序收尾工作是否有效。
分享到:
相关推荐
其次,**类QQ消息提示窗体**是模仿QQ等即时通讯软件的通知方式,它可以在不干扰用户主界面工作的情况下,提供即时消息通知。在AIR中,可以使用Flex或Flash Builder等开发工具创建这样的窗体。窗体通常由一个半透明...
1. **启动与关闭**: 解释如何正确开机、关机以及进入安全模式等特殊启动选项,帮助用户处理可能出现的系统问题。 2. **硬件介绍**: 对MacBook Air的外观设计、显示屏、键盘、触控板、电源适配器等硬件部件进行详细...
根据文件《大疆MAVIC AIR-用户说明书-手册 V1.2.pdf》中的内容,以下是一些详细的知识点: 1. 文件基本信息:《大疆MAVIC AIR-用户说明书-手册 V1.2.pdf》是由大疆创新公司版权所有,于2018年5月发布。用户可以通过...
Air780E硬件设计手册是一份详细的设计指南,旨在帮助用户设计和开发基于Air780E的产品。该手册涵盖了Air780E的硬件设计、电路设计、接口定义、性能参数等方面的知识。 1.绪论 Air780E是一款高性能的微控制器单元...
在处理这些事件时,确保正确关闭Socket连接,防止资源泄漏。 在实际项目中,可能还需要考虑错误处理、多线程、并发连接等问题。此外,由于AIR应用是在桌面环境中运行,所以还要考虑到网络状态的变化,如网络断开或...
想在PC上启用AirPrint的Windows用户注意了,一款新工具“AirPrint Activator”将实现你的愿望。 该工具同时兼容32位、64位Windows设备,完全安装仅需三个简单步骤。 Step 1: 选择系统。 Step 2: 在...
7. **事件监听与处理**:为了确保良好的用户体验,开发者需要监听AirPlay设备的状态变化,如连接断开或新的设备出现,以便及时调整应用程序的行为。 8. **性能优化**:考虑到无线传输可能带来的延迟和带宽限制,...
- **监听窗体事件**: 处理与窗体相关的事件,如打开、关闭、最大化等。 - **全屏模式**: 了解如何使窗体进入全屏模式。 - **菜单**: 介绍 AIR 菜单的基本概念和创建方法。 #### 6. 文件与数据管理 - **文件系统概要...
AirMusic通过Wi-Fi技术与Apple的AirPlay功能协同工作,实现高品质音乐的无线播放。 首先,我们需要了解AirMusic设备的特点。它之所以采用Wi-Fi而非蓝牙技术,是因为Wi-Fi的最大传输速率高达150Mbps,远高于蓝牙4.0...
在`closingApplication`事件处理器中,你可以选择最小化到托盘而不是完全关闭应用程序,或者弹出一个确认对话框询问用户是否真的要退出。 总的来说,通过使用Adobe AIR提供的API,开发者可以轻松地为应用程序添加...
在当今数字化时代,无线音频和视频传输技术日益普及,其中AirPlay是苹果公司推出的一种强大的无线媒体流协议,它允许用户将iPhone、iPad或Mac等设备上的媒体内容无线投屏到其他支持AirPlay的设备上。本文将深入探讨...
Flex4 AIR自定义窗口是一种高级的用户界面设计技术,它允许开发者创建出具有独特特性和交互体验的应用程序。在本文中,我们将深入探讨Flex4和Adobe Integrated Runtime (AIR)如何结合,实现自定义窗口功能,包括窗口...
AirPlay 是苹果公司推出的一种无线流媒体协议,它允许用户在不同的Apple设备间无缝共享音频、视频、照片和屏幕镜像。"Airplay java客户端"指的是一个使用Java编程语言实现的客户端程序,能够与AirPlay服务器进行交互...
Air530模块的一大特点是其射频基带一体化设计,将DC/DC转换器、LDO稳压器、低噪声放大器(LNA)、射频前端、基带处理芯片、32位RISC CPU、RAM、FLASH存储、实时时钟(RTC)和电源管理单元集成在一个紧凑的封装中,...
在实际开发中,开发者需要根据不同的需求选择合适的触控事件监听器,并在相应的事件处理函数中编写响应逻辑,以此来创建丰富的用户交互体验。此外,FLASH AIR的多点触控开发还涉及到坐标转换、事件冒泡和捕获、手势...
"大疆无人机说明书_Mavic_Air_用户手册_V1.2" 大疆无人机Mavic Air用户手册V1.2是大疆创新公司出品的一份详细的用户手册,...在使用Mavic Air之前,用户务必阅读和理解本手册中的内容,以确保正确和安全地使用本产品。
标题中的“用Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标”表明了这个项目是关于使用Adobe Flex和Adobe Integrated Runtime (AIR) 开发一个功能,该功能模仿了腾讯QQ的消息提示方式,即当有新消息时,系统托盘...
Flex Air是中国Adobe公司开发的一款基于Flash技术的富互联网应用程序(RIA)开发平台,它允许开发者创建可以在桌面运行的跨平台应用程序。本“Flex Air中文官方帮助文档”是开发者的重要参考资料,详细介绍了Flex ...