style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

ProgressBar al invocar un reporte en eclipse

buenas, quisera una orientacion de como implementar un progressbar al momento de invocar mi reporte, esto es porque al momento de invocarlo el mismo tarda aproximadamente entre 4 y 5 segundos en mostrarse, estuve consultando en varios foros y documentandome y creo que no se puede optimizar ese tiempo, ya que de porsi, todos presentan ese mismo problema al ejecutar su reporte desde la aplicacion.

estuve documentandome un poco sobre los Thread, pero no me quedo muy claro... tengo una clase en donde defino el reporte, y su ubicacion, y desde la aplicacion le envio por paramentros los valores para llenar el reporte, en este caso como haria para mostrar un progresbar desde que presiono el boton ver reporte y este aparezca.

gracias.

desde aqui llamo a mi reporte y le paso los parametros

JOptionPane.showMessageDialog(this,"¡Registro Guardado!");
                        /*Se Crea un objeto del tipReporte deseado y se ejecuta su metodo */
                        CS_RptFicIns Rpt = new CS_RptFicIns();
                        String value=jtf_cedEscolar.getText().trim().toString();
                        Rpt.runReporte(value);

y en mi clase CS_RptFicIns tengo el siguiente codigo

import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

import com.mysql.jdbc.Connection;

public class CS_RptFicIns {
   
       private Connection conn;
       private final String login = "root";
       private final String password = "";
       private String url = "jdbc:mysql://localhost/csytec_sgpi";

       public CS_RptFicIns(){        
           try{
               Class.forName("com.mysql.jdbc.Driver");
               conn = (Connection) DriverManager.getConnection(url,login,password);
           }
           catch (ClassNotFoundException ex){
               ex.printStackTrace();
           }
           catch (SQLException ex){
               ex.printStackTrace();
           }          
       }
     
       public void runReporte(String value ){

           try{
                   String fileName = "C:/CSytec/CSGE/rpt/CSGE_RptInscAlumno.jasper";
             
               if (fileName == ""){                
                   System.out.println("No encuentro el archivo del reporte.");
                   System.exit(2);
                }else{
           Map<String, Object> parameters = new HashMap<String, Object>();
           parameters.put("idCedEsc", value);
           JasperReport reporte = (JasperReport) JRLoader.loadObjectFromFile(fileName);
           JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parameters, conn);
           JRExporter exporter = new JRPdfExporter();        
           exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
           exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File("C:/CSytec/CSGE/Reportes Inscripcion/CSGE-"+value+".pdf"));
           exporter.exportReport();
           JasperViewer visor=null;
           visor = new JasperViewer(jasperPrint,false); //Creamos un visor para previsualizar el reporte
           visor.setTitle("Reporte");
           visor.setVisible(true);
           }  
           }catch (Exception j){
               System.out.println("Mensaje de Error:"+j.getMessage());
           }
           
       }
     
       public void cerrar(){
                   try{
                       conn.close();
                   }catch (SQLException ex){
                       ex.printStackTrace();
                   }
       }

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">