Problema swing-thread

essjgaz
21 de Febrero del 2005
Hola a todos...
Tengo un problemilla.. Desde un gui tengo que lanzar un aviso, el problema q el gui sale gris. He creado un Thread para q lo realize en otro hilo.

Thread:
public class ValidaThread extends Thread {
JFrame frame;
long time;

public ValidaThread() {
}
public void run(){
lanzaValida();
}
public void lanzaValida(){
DlgProcesando process = new DlgProcesando(frame,false,time);
Pantallas.CentrarPantalla(process);
}

Y desde el gui lanzo:
ValidaThread valida = new ValidaThread();
valida.start();
System.out.println(this.getName() + " Ejecuto el thread");
}
}
Necesito algo más. Gracias de antemano.

chuidiang
21 de Febrero del 2005
Hola.
El problema es que tienes ocupado el hilo de awt, que es el que se encarga de pintar las cosas. Efectivamente, tienes que crear otro hilo, pero no para la ventana, sino para lo que estés haciendo.

Si el aviso es resultado, por ejemplo, de la pulsacion de un boton y el codigo está en un actionPerformed(), lo que tienes que hacer es el return del actionPerformed() lo antes posible. Puedes poner ahi el dialogo (sin thread) y lanzar un Thread para que haga el resto del código. El dialogo, por supuesto, no puede ser un JOptionPane que te deje bloqueado.

Se bueno.

jgalvarez
21 de Febrero del 2005
Gracias por tu contestación, pero no entiendo q quieres decirme. Perdona pero soy un poco nuevo en estos entornos.