Hilos en java
Thread hilo = new Thread()
{
public void run()
{
try
{
while(true)
{
if(seg==59) { seg=0; min++; }
if(min==59) { min=0; hora++; }
seg++;lblTime.setText(hora+":"+min+":"+seg);
hilo.sleep(1000);
}
} catch (java.lang.InterruptedException ie) { System.out.println(ie.getMessage()); }
}
};
Dentro del metodo "run" hacemos un ciclo infinito, while(true) ycon la funcion sleep() definimos cuanto se va a tardar en hacer la siguiente corrida, el tiempo siempre se pasa en milisegundos, asi que si definimos sleep(1000) se va a tardar un segundo en hacer lasiguiente corrida, que es lo que queremos, que valla aumentando de segundo en segundo,
Los eventos
Los eventos de nuestro cronometro son 3, iniciar, pausar y parar. El evento de iniciar es de dostipos, ya sea cuando vamos a iniciar el cronometro o si esta pausado y queremos resumirlo.
public boolean issuspended = false;
private void btnStartMouseClicked(java.awt.event.MouseEvent evt) {if(!issuspended)
{
hilo.start();
lblStatus.setText("Estado: Iniciado");
}
else
{
hilo.resume();
issuspended = false;
lblStatus.setText("Estado: Resumido");
}
}
Primero preguntamossi esta pausado, si no lo esta lo iniciamos (start), si esta pausado lo resumimos (resume). Para pausar el cronometro usamos el metodo "suspend" que pausa indefinidamente el cronometro:hilo.suspend();
issuspended = true;
lblStatus.setText("Estado: Suspendido");
Y para paralo usamos "stop":
hilo.stop();
lblStatus.setText("Estado:
-------------------------------------------------/*
-------------------------------------------------
* To change this template, choose Tools | Templates
-------------------------------------------------...
Regístrate para leer el documento completo.