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