Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2019, 07:02
lucho248
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 13 años, 5 meses
Puntos: 5
jprogressbar Consulta

Buenos días, les hago una pregunta porque es algo que no estoy pudiendo descifrar porque no me anda.
tengo este codigo:
Código Java:
Ver original
  1. import java.awt.FlowLayout;
  2.  
  3. import javax.swing.JButton;
  4. import javax.swing.JFrame;
  5. import javax.swing.JPanel;
  6. import javax.swing.JProgressBar;
  7. import javax.swing.JTextArea;
  8.  
  9. public abstract class Cargando {
  10.  
  11.      /**@param PROGRESSBAR*/
  12.     static JProgressBar current;
  13. //    static JTextArea out;
  14. //    static JButton find;
  15. //    static Thread runner;
  16.     static int num = 0;
  17.     static JFrame frame;
  18.    
  19.    
  20.    
  21. //  public Cargando() {
  22. //     
  23. //  }
  24.  
  25.    
  26.     /** METODO PARA EL PROGRESSBARR.
  27.      * CREA FRAME Y ASIGNA MAXIMO AL PROGRESS */
  28.     public static void progresBar(int max, String titulo) {
  29.         frame = new JFrame();
  30.         frame.setTitle(titulo);
  31.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32.         frame.setBounds(200, 300, 350, 100);
  33.           JPanel pane = new JPanel();
  34.           pane.setLayout(new FlowLayout());
  35.           current = new JProgressBar(0, max);
  36.           current.setValue(0);
  37.           current.setStringPainted(true);
  38.           pane.add(current);
  39.           frame.setContentPane(pane);
  40.           frame.setVisible(true);        
  41.     }
  42.    
  43.     /** ASIGNA UN VALOR A LA BARRA DEL PROGRESS **/
  44.     public static void setValueProgresBar(int i) {
  45.         current.setValue(i);    }
  46.     /** CIERRA EL PROGRESS.**/
  47.     public static void closeProgresBar() {     
  48.         frame.dispose();    }
  49.    
  50.    
  51. }
el cual lo llamo de un back-end y funciona perfectamente.
lo creo con por ej:
Cargando.progresBar(mails.size(), "ENVIANDO MAIL");

para el avance de la barra: Cargando.setValueProgresBar(i);
y para finalizar: Cargando.closeProgresBar();

funciona como quiero...
ahora este mismo codigo, lo llamo desde un jframe para ir cargando registros en un JTABLE, y solo me muestra el frame vacio, ni siquiera me muestra el jprogressbar sin la barra, y mucho menos cargarla.

codigo ejemplo donde no funciona el progressbar.
Código invocacion desde un JFRAME.:
Ver original
  1. list = dord.listQuery(queryFinal);
  2.             /** CARGAR LA TABLA **/
  3.             if(list.size()>0){
  4.                 model.setRowCount(0);
  5.  
  6.                 Cargando.progresBar(list.size(), "CARGANDO");
  7.                 barra.setMaximum(list.size());
  8.                
  9.                 int pr = 0;
  10.                 for (Iterator<Object>i = list.iterator(); i.hasNext(); ) {
  11.                     nombreDoc = "";
  12.                     fecha_imp = "";
  13.                     o = (Cereal_Certificado)i.next();
  14.                     p = (Persona)dper.getbyPadron(Integer.toString(o.getPadron()));
  15.                     cl = (Cereal_Cert_Imp)dli.getById(o.getCer_nro_comp());
  16.                     nombreDoc = (o.getNro_comp_preimp()).toString();
  17.                     nombreDoc = nombreDoc.substring(0, 2)+nombreDoc.substring(2, nombreDoc.length())+".pdf";
  18.                    
  19. //       nro - nombre   cer_nro_comp  nro_comp_preimp    cer_fecha_emision cer_fecha_cierre  cereal_codigo cosecha_codigo cer_kilos_brutos (ga_secada+ga_otros_gral+ga_ana+ga_descarga+ga_iva_ri)   f_imp  url(armado)            
  20. //      "Razón Social", "Comp. Int.", "N° Certificado", "F.Emisión",      "F.Debito",       "Cereal",     "Cosecha",      "Kilos",        "Neto Pagar",  "F.Imp.","URL"    
  21.                    
  22.                     if(cl.cer_nro_comp == 0)
  23.                         fecha_imp = "";
  24.                     else fecha_imp = Util.getFecha(cl.getF_imp(),"dd/MM/yyyy");
  25.                     model.addRow(new Object[]
  26.                              {o.getPadron()+" - "+p.getRazon_social(),
  27.                               o.getCer_nro_comp(),
  28.                               o.getNro_comp_preimp(),
  29.                               Util.getFecha(o.getCer_fecha_emision(),"dd/MM/yyyy"),
  30.                               Util.getFecha(o.getCer_fecha_cierre(),"dd/MM/yyyy"),
  31.                               o.getCereal_codigo(),
  32.                               o.getCosecha_codigo(),
  33.                               o.getCer_kilos_brutos(),
  34. //                            (ga_secada+ga_otros_gral+ga_ana+ga_descarga+ga_iva_ri)
  35.                               (o.getGa_ana()+o.getGa_descarga()+o.getGa_iva_ri()+o.getGa_otros_gral()+o.getGa_secada()),
  36.                               fecha_imp,
  37.                               urldocs+nombreDoc                      
  38.                              });
  39.                    
  40.    
  41.                     Cargando.setValueProgresBar(pr);
  42.                     pr++;
  43.                     }//fin FOR
  44.                 barra.setValue(0);
  45.                 Cargando.closeProgresBar();
  46.                 tabla.setModel(model);
  47.             }

Alguien me puede decir porque en uno anda y en otro no me lo muestra? gracias.