Commands, Items, and Event Processing
//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.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.StringItem; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class ThrowException extends MIDlet implements CommandListener { private Display display; private Form form = new Form("Throw Exception"); private Command exit = new Command("Exit", Command.SCREEN, 1); private boolean isSafeToQuit = false; public ThrowException() { display = Display.getDisplay(this); 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 (Exception exception) { isSafeToQuit = true; } } } }