Swing Multihilo ProgressBar indeterminate

El anterior ejemplo se utilizo SwingWorker para hacer un llamado a un procedimiento que se demora mucho y de paso no bloquear la interfaz y poder actualizar. Este funciona bien pero por alguna razón no me funcionó igual cuando quería utilizar el progressbar de modo indeterminate. (.setIndeterminate(true)) así que encontré una forma de hacerlo y es en vez de extender el objeto de trabajo de Thread se extiende de SwingWorker, con esto, sobreescribiendo el metodo doInBackground el SwingWorker se encargaría de actualizar la interfaz sin bloquearla.



public class Procesar extends SwingWorker { 
@Override     
protected Object doInBackground() throws Exception {         barra.setIndeterminate(true);        
 // proceso con duración indeterminada         
barra.setIndeterminate(false);         
return "Hecho.";     } }

}

Lógicamente el llamado a dicha clase cambia y ya se ejecutaría con run() sino con execute()


lanzador = new Procesar();
lanzador.execute();


Saludos.

Comentarios

Entradas populares de este blog

Descarga FTP desde Java

Leer cantidad paginas - imagenes TIFF en C#

Pilas C++ !!