[Flex Air] 프로그램 종료시 Alert을 이용하여 확인하기


 프로그램의 종료시에 확인 창을 통하여 정말 종료해도 되는지, 혹은 뭘 저장 할 것은 없는지 물어보는 경우를 종종 볼 수 있다.

Air에서도 종료시에 종료 이벤트 핸들러를 통하여 뭔가를 저장한다거나, 프로그램 종료를 취소 할 수 있다.



프로그램 종료 중단 시키기
 

<?xml version="1.0" encoding="utf-8"?>

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 

  xmlns:s="library://ns.adobe.com/flex/spark" 

  xmlns:mx="library://ns.adobe.com/flex/mx"

  initialize="windowedapplication1_initializeHandler(event)"

  >

<fx:Script>

<![CDATA[

import mx.controls.Alert;

import mx.events.CloseEvent;

import mx.events.FlexEvent;

protected function windowedapplication1_initializeHandler(event:FlexEvent):void{

this.addEventListener(Event.CLOSING, closeEventHandler);

}

private function closeEventHandler(event:Event):void{

event.preventDefault();

Alert.show("종료 하시겠습니까?", "종료", Alert.YES|Alert.CANCEL, null, 

function(event:CloseEvent):void{

if(event.detail == Alert.YES){

nativeApplication.exit();

}

});

}

]]>

</fx:Script>

</s:WindowedApplication>


1. 일단 프로그램의 Event.CLOGING 이벤트 핸들러를 설정한다.
2. 이벤트 핸들러에서 event.preventDefault();를 이용하여 프로그램 종료를 중단시킨다.