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