crono.java
per admin
—
darrera modificació
2020-04-06T13:06:42+02:00
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Crono extends MIDlet implements CommandListener, Runnable {
private Display display;
private Form formulario;
private Command salir;
private Command marcha;
private Command paro;
private Command borrado;
private int t;
private Thread hebra;
private boolean parado = true;
public Crono() {
super();
display = Display.getDisplay(this);
salir = new Command("Salir", Command.EXIT, 4);
marcha = new Command("Marcha", Command.SCREEN, 1);
paro = new Command("Paro", Command.SCREEN, 2);
borrado = new Command("Borrado", Command.SCREEN, 3);
formulario = new Form("Cronómetro");
formulario.append("Cronómetro es una aplicación didáctica bajo la licéncia GPL.");
formulario.addCommand(salir);
formulario.addCommand(marcha);
formulario.addCommand(paro);
formulario.addCommand(borrado);
formulario.setCommandListener(this);
hebra = new Thread(this);
hebra.start();
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(formulario);
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void destroyApp(boolean arg0) {
// TODO Auto-generated method stub
}
public void commandAction(Command c, Displayable d) {
//Miramos si hemos de terminar
if (c == salir) {
destroyApp(true);
notifyDestroyed();
}
// Tal vez nos toque reiniciar el contador
if (c == borrado) {
t = 0;
actualizaPantalla();
}
// Tal vez nos toque ponernos en marcha
if (c == marcha) {parado = false;}
// Tal vez nos toque detenernos
if (c == paro) {parado = true;}
}
public void run() {
while(true) {
try {
Thread.sleep(1000);
if(!parado) {
t++;
actualizaPantalla();
}
} catch (Exception e) {}
}
}
public void actualizaPantalla() {
formulario.setTitle("T: " + String.valueOf(t));
}
}