Creating a self-closing Alert control in Flex

by Peter deHaan on April 8, 2009

in Alert,PopUpManager,Timer

The following example shows how you can create a self-closing Flex Alert control by creating a timer and using the static PopUpManager.removePopUp() method to remove the Alert after a certain time period.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2009/04/08/creating-a-self-closing-alert-control-in-flex/ -->
<mx:Application name="Alert_PopUpManager_removePopUp_test"
        xmlns:mx="http://www.adobe.com/2006/mxml"
        backgroundColor="white"
        initialize="init();">

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.events.CloseEvent;
            import mx.managers.PopUpManager;

            private var alrt:Alert;
            private var alrtTimer:Timer;

            private function init():void {
                alrtTimer = new Timer(5000, 1);
                alrtTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeAlert);
            }

            private function showAlert():void {
                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);
                alrtTimer.reset();
                alrtTimer.start();
            }

            private function alrt_close(evt:CloseEvent):void {
                alrtTimer.stop();
                lbl.text = "Closed by user.";
            }

            private function removeAlert(evt:TimerEvent):void {
                PopUpManager.removePopUp(alrt);
                lbl.text = "Removed by application.";
            }
        ]]>
    </mx:Script>

    <mx:Button label="Show Alert" click="showAlert();" />
    <mx:Label id="lbl" />

</mx:Application>

{ 5 comments… read them below or add one }

1 Geert April 10, 2009 at 1:31 am

Hi Peter,
Any reason why you don’t post the working example (SWF) of the example?

Reply

2 Peter deHaan April 10, 2009 at 5:01 pm

Geert,

Nope. Just laziness mostly.

Peter

Reply

3 Evans April 11, 2009 at 3:16 am

Thanks for this nice tip -
It will definitely come in very handy, cheers.

Reply

4 Deniz June 13, 2009 at 1:25 pm

Nice tip ;)

Reply

5 Anonymous March 10, 2010 at 11:19 pm

GOOD EXP..we can use it in many applications :)

Reply

Leave a Comment

Sorry, this blog is terrible at eating HTML comments.
If you're pasting any HTML/XML/MXML code, you need to convert your < characters to &lt; and your > characters to &gt; .

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Anti-Spam Protection by WP-SpamFree

Previous post:

Next post: