Hilos en java

Solo disponible en BuenasTareas
  • Páginas : 4 (972 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de enero de 2012
Leer documento completo
Vista previa del texto
crearnos un objeto de tipo Thread, en el cual vamos a definir nuestro método"run" el cual contendrá las acciones que queremos que nuestro cronometro haga, en este caso mostrar los minutos, segundosy horas que lleva.

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
-------------------------------------------------...
tracking img