Mega Code Archive

 
Categories / Java / J2ME
 

Gauge Non-Interactive

//jad file (please verify the jar size) /*  * MIDlet-Name: GaugeNonInteractive MIDlet-Version: 1.0 MIDlet-Vendor: MyCompany  * MIDlet-Jar-URL: GaugeNonInteractive.jar MIDlet-1: GaugeNonInteractive, ,  * GaugeNonInteractive MicroEdition-Configuration: CLDC-1.0  * MicroEdition-Profile: MIDP-1.0 MIDlet-JAR-SIZE: 100  *    */ import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; 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.Gauge; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class GaugeNonInteractive extends MIDlet implements CommandListener {   private Display display;   private Form form = new Form("");   private Command exit = new Command("Exit", Command.EXIT, 1);   private Command start = new Command("Start", Command.SCREEN, 1);   private Gauge gauge = new Gauge("Progress Tracking", false, 100, 0);   private boolean isSafeToExit = true;   public GaugeNonInteractive() {     display = Display.getDisplay(this);     form.append(gauge);     form.addCommand(start);     form.addCommand(exit);     form.setCommandListener(this);   }   public void startApp() {     display.setCurrent(form);   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) throws MIDletStateChangeException {     if (!unconditional) {       throw new MIDletStateChangeException();     }   }   public void commandAction(Command command, Displayable displayable) {     if (command == exit) {       try {         destroyApp(isSafeToExit);         notifyDestroyed();       } catch (MIDletStateChangeException Error) {         Alert alert = new Alert("Busy", "Please try again.", null, AlertType.WARNING);         alert.setTimeout(1500);         display.setCurrent(alert, form);       }     } else if (command == start) {       new Thread(new GaugeUpdater()).start();     }   }   class GaugeUpdater implements Runnable {     public void run() {       isSafeToExit = false;       try {         while (gauge.getValue() < gauge.getMaxValue()) {           Thread.sleep(500);           gauge.setValue(gauge.getValue() + 1);         }         isSafeToExit = true;         gauge.setLabel("Process Completed.");       } catch (InterruptedException Error) {         throw new RuntimeException(Error.getMessage());       }     }   } }