import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class GaugeNonInteractive
extends MIDlet implements CommandListener
{
private Display display;
private Form form;
private Command exit;
private Command start;
private Gauge gauge;
private boolean isSafeToExit;
public GaugeNonInteractive()
{
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
{
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)
{
form.remove.Command(start);
new Thread(new GaugeUpdater()).start();
}
}
class GaugeUpdater implements Runnable
{
GaugeUpdater()
{
}
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());
}
}
}
}
import javax.microedition.lcdui.*;
public class GaugeNonInteractive
extends MIDlet implements CommandListener
{
private Display display;
private Form form;
private Command exit;
private Command start;
private Gauge gauge;
private boolean isSafeToExit;
public GaugeNonInteractive()
{
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
{
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)
{
form.remove.Command(start);
new Thread(new GaugeUpdater()).start();
}
}
class GaugeUpdater implements Runnable
{
GaugeUpdater()
{
}
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());
}
}
}
}
No comments:
Post a Comment