Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/10/2013, 08:03
JMitsu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al mostrar un dialogo

Eso pasa porque Swing trabaja todos los eventos de la interfaz como una cola en un thread independiente (EDT por sus siglas en ingés), por lo que si estamos ejecutando tareas dentro de ese thread, estaremos bloqueando las peticiones de actualización de la interfaz.

Intenta con lo siguiente:

Código Java:
Ver original
  1. public Boolean buscarDatoSQL(String usuario){
  2.  
  3. final SwingWorker worker = new SwingWorker() {
  4. Boolean existeUsuario=false;
  5.  
  6. while(consultaFinalizada()) {
  7. DialogoCargando =new DialogoCargando(); // es un hermoso dialogo con una etiqueta con un gif animado.
  8. }
  9.  
  10. existeUsuario=existeUsuarioEnBD(usuario);
  11.  
  12. return existeUsuario;
  13. }
  14. worker.execute();
  15.  
  16. }
  17.  
  18. public Boolean consultaFinalizada() {
  19.  
  20.     // codigo para saber si una consulta fue hecha
  21.    // el codigo de la consulta tiene que implementar una variable que diga
  22.   //  si una consulta se ha llevado a cabo o no.
  23.  }