Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/08/2014, 09:30
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Hilo isRunning()

Hola:

Java tiene un hilo de despacho de eventos (EDT) que es el hilo que se encarga de manejar todos los eventos de teclado, de ratón y de pintar las ventanas. Si ese hilo se queda bloqueado, las ventanas no responden y no se repintan.

En tu caso, java ejecuta el actiponPerformed() en ese hilo, puesto que es un evento de click en una ventana. Es posible que estás bloqueando ese hilo con el while(c.isRunning()). Ten en cuenta, por ejemplo, que la visualización de la ventana Contador y el c.setText() también tratan de ejecutarse en ese hilo EDT que en ese momento está en tu actionPerformed().

La solución suele ser meter todo el código de actionPerformed en un Runnable y lanzarlo como hilo aparte, de forma que no bloquees el actionPerformed y salga lo antes posible.

Más detalles aquí http://chuwiki.chuidiang.org/index.p...hread)_de_Java

Se bueno.
__________________
Apuntes Java
Wiki de Programación