Gauge Non-Interactive : Gauge « J2ME « Java






Gauge Non-Interactive

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());
      }
    }
  }
}
      
       








Related examples in the same category

1.Gauge TrackerGauge Tracker
2.Gauge InteractiveGauge Interactive
3.Non Interactive GaugeNon Interactive Gauge
4.Interactive GaugeInteractive Gauge