Java - JprogressBar - existe alguna forma de hacer que la barra cambie antes de mostrar el reporte?

 
Vista:

JprogressBar - existe alguna forma de hacer que la barra cambie antes de mostrar el reporte?

Publicado por Celeste (1 intervención) el 06/06/2016 18:00:07
Hola, tengo un problema con una barra de progreso, en una aplicación de escritorio, en un botón mando llamar un método en otra clase, este método carga un reporte con JasperReport, el detalle esta en que tarda unos segundos en cargar y entre cada 2 lineas cambio el valor de la barra, pero al ejecutarlo no muestra ningún avance hasta el final muestra la barra completa, existe alguna forma de hacer que la barra cambie antes de mostrar el reporte? les paso mi método. Les agradezco su atención.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void reporte(Date fecha, JProgressBar barra){
	barra.setValue(30);
	parametro= new HashMap();
	parametro.put("fecha",fecha);
 
	try {
		barra.setValue(60);
		print= JasperFillManager.fillReport(jasperreport,parametro,con);
	} catch (Exception e) {
		errores(new SimpleDateFormat("dd-MM-yyyy k-m-s").format(new Date()), e, "reporte 2");
	}
 
	barra.setValue(85);
	view=new JasperViewer(print, false);
 
	barra.setValue(100);
	view.setVisible(true);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alexis

JprogressBar - existe alguna forma de hacer que la barra cambie antes de mostrar el reporte?

Publicado por Alexis (15 intervenciones) el 08/06/2016 06:48:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FrmSplashScream extends javax.swing.JFrame implements Runnable{
 
    public FrmSplashScream() {
        new Trasparencia().TransCompFrame(this);
        initComponents();
    }
private void formWindowOpened(java.awt.event.WindowEvent evt) {
        // TODO add your handling code here:
        new Hilo(jProgressBar1).start();
    }
 
    public void run() {
 
        try {
            this.setVisible(true);
            Thread.sleep(6000);
            this.dispose();
            FrmLogin Logeo = new FrmLogin();
            Logeo.setVisible(true);
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
        }
    }

Mira te dejo un pqueño ejemplo de como lo hice, no es en el mismo contexto pero pues se trata de hilos, solo es cosa de adaptar lo que te dí e implemetarlo con tu codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar