Mega Code Archive

 
Categories / Java Tutorial / J2ME
 

Gauge Non Interactive

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 J2MEGaugeNonInteractive extends MIDlet implements CommandListener {   private Display display;   private Form form;   private Command exit;   private Command start;   private Gauge gauge;   private boolean isSafeToExit;   public J2MEGaugeNonInteractive() {     display = Display.getDisplay(this);     gauge = new Gauge("Progress Tracking", false, 100, 0);     exit = new Command("Exit", Command.EXIT, 1);     start = new Command("Start", Command.SCREEN, 1);     form = new Form("");     form.append(gauge);     form.addCommand(start);     form.addCommand(exit);     form.setCommandListener(this);     isSafeToExit = true;   }   public void startApp() {     display.setCurrent(form);   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) throws 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) {       form.removeCommand(start);       new Thread(new GaugeUpdater()).start();     }   }   class GaugeUpdater implements Runnable {     public void run() {       isSafeToExit = false;       try {         while (gauge.getValue() < gauge.getMaxValue()) {           Thread.sleep(1000);           gauge.setValue(gauge.getValue() + 1);         }         isSafeToExit = true;         gauge.setLabel("Process Completed.");       } catch (InterruptedException Error) {         throw new RuntimeException(Error.getMessage());       }     }   } }