Flex中如何通过PopUpManager.removePopUp()事件创建自动关闭Alert的例子

By Minidxer | August 8, 2009

接下来的例子演示了Flex中如何通过PopUpManager.removePopUp()事件,创建自动关闭Alert。

让我们先来看一下Demo可以点击这里察看源代码):


下面是完整代码(或点击这里察看):
下面是main.mxml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application name="Alert_PopUpManager_removePopUp_test"
  3.         xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         backgroundColor="white"
  5.         initialize="init();">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.controls.Alert;
  10.             import mx.events.CloseEvent;
  11.             import mx.managers.PopUpManager;
  12.  
  13.             private var alrt:Alert;
  14.             private var alrtTimer:Timer;
  15.  
  16.             private function init():void {
  17.                 alrtTimer = new Timer(5000, 1);
  18.                 alrtTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeAlert);
  19.             }
  20.  
  21.             private function showAlert():void {
  22.                 alrt = Alert.show("I'm an Alert control and I will close in 5 seconds unless closed by a user.", "Self closing Alert", Alert.OK, this, alrt_close);
  23.                 alrtTimer.reset();
  24.                 alrtTimer.start();
  25.             }
  26.  
  27.             private function alrt_close(evt:CloseEvent):void {
  28.                 alrtTimer.stop();
  29.                 lbl.text = "Closed by user.";
  30.             }
  31.  
  32.             private function removeAlert(evt:TimerEvent):void {
  33.                 PopUpManager.removePopUp(alrt);
  34.                 lbl.text = "Removed by application.";
  35.             }
  36.         ]]>
  37.     </mx:Script>
  38.  
  39.     <mx:Button label="Show Alert" click="showAlert();" />
  40.     <mx:Label id="lbl" />
  41.  
  42. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Alert | No Comments » | Tags:

Search Posts