Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/05/2009, 21:41
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ejemplo simple en java, como es lo correcto?

Hola:

La unica forma es el Thread que además es lo correcto.

Java ejecuta el actionPerformed en el mismo thread que se encarga de repintar las ventanas. Por ello, mientras tú haces cosas en el actionPerformed, java no repinta nada en las ventanas. Y por ello, el primer setText() queda "encolado" a la espera de que el código de actionPerformed termine y después del sleep(), el segundo setText() queda también "encolado". Al terminar el actionPerformed, los dos setText() encolados, se ejecutan seguidos, uno detrás de otro y sin pausa entre ellos, por lo que no te da tiempo a ver el primero.

Si nada más entrar en el actionPerformed lanzas un Thread y devuelves el control, el hilo de java de repintar ventanas queda libre. Cuando en el hilo separado hagas el primer setText(), se encola igual que en el primer caso, pero al estar el hilo de repintando libre, se ejecuta inmediatamente y lo ves en pantalla mientras tu hilo está con el sleep().

Se bueno.
__________________
Apuntes Java
Wiki de Programación