This Midlet demonstrates Commands, Items, and Event Processing.




 /*
J2ME: The Complete Reference

James Keogh

Publisher: McGraw-Hill

ISBN 0072227109

*/
//jad file (please verify the jar size)
/*
MIDlet-Name: ThrowException
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: ThrowException.jar
MIDlet-1: ThrowException, ThrowException.png, ThrowException
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100

*/


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class ThrowException extends MIDlet 
                  implements CommandListener
{
  private Display display;
  private Form form; 
  private Command exit; 
  private boolean isSafeToQuit; 
  public ThrowException()
  {
    isSafeToQuit = false;
    display = Display.getDisplay(this);
    exit = new Command("Exit", Command.SCREEN, 1);
    form = new Form("Throw Exception");
    form.addCommand(exit);
    form.setCommandListener(this);
  }
  public void startApp()
  {
   display.setCurrent(form);
  }
  public void pauseApp()
  {
  }
  public void destroyApp(boolean unconditional) 
                   throws MIDletStateChangeException
  {
    if (unconditional == false)
    {
     throw new MIDletStateChangeException();
    }
  }      
  public void commandAction(Command command, 
                             Displayable displayable)
  {
    if (command == exit)
    {
      try
      {
        if (isSafeToQuit == false)
        {
           StringItem msg = new StringItem ("Busy", "Please try again.");
           form.append(msg);
           destroyApp(false);
        }
        else
        {
         destroyApp(true);
         notifyDestroyed();
        }
      }
      catch (MIDletStateChangeException exception)
      {
        isSafeToQuit = true; 
      }
    }
  }
}

 

 

 

 Related Tips