Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2011, 20:07
Myless
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Problema con JProgressBar

Hola, estoy tratando de implementar una JProgressBar, pero no me funciona... en teoria.

Tengo este codigo:
Código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        d = new DAO();
        int countB = 0;
        int countE = 0;
        jProgressBar1.setValue(0);
        jProgressBar1.setMinimum(0);
        jProgressBar1.setMaximum(jTable1.getRowCount());
        jProgressBar1.setStringPainted(true);
        for(int i = 0; i<jTable1.getRowCount();i++){
            r = new InsertarNuevoRepuesto();
            for(int u = 0;u < jTable1.getColumnCount();u++){
                if(u == 0){
                    r.setCodigoMovill(jTable1.getValueAt(i, u)+"");
                }
                if(u == 1){
                    r.setCodigo(jTable1.getValueAt(i, u)+"");
                }
                if(u == 2){
                    r.setDescripcion(jTable1.getValueAt(i, u)+"");
                }
                if(u == 3){
                    r.setMarca(jTable1.getValueAt(i, u)+"");
                }
                if(u == 4){
                    r.setStock((Integer)jTable1.getValueAt(i,u));
                }
                if(u == 5){
                    String aux = jTable1.getValueAt(i, u)+"";
                    aux = aux.replace(",",".");
                    Double p = new Double(aux);
                    r.setPrecioVentaUS(p);
                }
                if(u == 6){
                    r.setPrecioVentaPeso((Integer)jTable1.getValueAt(i, u));
                }
                if(u == 7){
                    r.setPrecioVenta((Integer)jTable1.getValueAt(i, u));
                    if(d.insertarRepuesto(r)){
                        countB++;
                    } else {
                        countE++;
                    }
                }
            }
            jProgressBar1.setValue(i);
            jProgressBar1.revalidate();
            jProgressBar1.repaint();
        }
        JOptionPane.showMessageDialog(null, "Se han insertado "+countB+" Items \n"
                +countE+" Items han presentado error");
    }
El cual uso para recorrer una JTable eh insertarla en la BD, como sabran, esta accion puede tomar algunos segundos, asi que quiero implementar una JProgressBar mientras se ejecuta esta accion.

El problema es que al ejecutarlo, la barra no se funciona, simplemente se queda en 0, y una vez terminada la accion llega a 100. No sé que será. En todos los ejemplos que encuentro en internet usan hilos para hacerlos funcionar.

Espero me puedan ayudar.