Multi Alert : Alert « J2ME « Java






Multi Alert


/* License
 * 
 * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *  
 *  * Redistribution of source code must retain the above copyright notice,
 *      this list of conditions and the following disclaimer.
 * 
 *  * Redistribution in binary form must reproduce the above copyright notice,
 *      this list of conditions and the following disclaimer in the
 *      documentation and/or other materials provided with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of contributors
 * may be used to endorse or promote products derived from this software
 * without specific prior written permission.
 *  
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN")
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *  
 * You acknowledge that this software is not designed, licensed or intended
 * for use in the design, construction, operation or maintenance of any
 * nuclear facility. 
 */

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;


public class MultiAlert extends MIDlet {

    Display      display;
    Command      exitCommand = new Command( "Exit", Command.EXIT,
                                                             1 );
    Timer        timer1 = new Timer();
    Timer        timer2 = new Timer();
    Timer        timer3 = new Timer();
    MainForm     form = new MainForm();
    AlertRouter  router;

    public MultiAlert() {
        display = Display.getDisplay( this );
        router = new AlertRouter( display );

        timer1.schedule( new AlertTrigger( "Alert 1",
                             "This is alert #1" ), 5000, 10000 );
        timer2.schedule( new AlertTrigger( "Alert 2",
                              "This is alert #2" ), 5000, 7000 );
        timer3.schedule( new AlertTrigger( "Alert 3",
                              "This is alert #3" ), 5000, 9000 );
    }

    protected void destroyApp( boolean unconditional ) {
        timer1.cancel();
        timer2.cancel();
        timer3.cancel();
    }

    protected void startApp() {
        display.setCurrent( form );
    }

    protected void pauseApp() {
    }

    public void exit(){
        destroyApp( true );
        notifyDestroyed();
    }

    class AlertTrigger extends TimerTask {

        public AlertTrigger( String title, String message )
        {
            this.title = title;
            this.message = message;
        }

          public void run(){
            Alert alert = new Alert( title, message, null, null );
            alert.setTimeout( Alert.FOREVER );
            router.showAlert( alert );
       }

        private String title;
        private String message;
    }

    class MainForm extends Form implements CommandListener {
        public MainForm(){
            super( "MultiAlert Demo" );
            addCommand( exitCommand );
            setCommandListener( this );
        }

        public void commandAction( Command c, Displayable d ){
            exit();
        }
    }
}


           
       








Related examples in the same category

1.An example MIDlet with simple Alert UI component containing an Image.An example MIDlet with simple Alert UI component containing an Image.
2.High-Level Display Screens : AlertHigh-Level Display Screens : Alert
3.Animated TimerAnimated Timer
4.Two AlertsTwo Alerts
5.Login MidletLogin Midlet
6.Modal AlertModal Alert