Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2011, 11:01
tronco020
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tandil
Mensajes: 79
Antigüedad: 14 años, 1 mes
Puntos: 3
Pregunta Llenar progresivamente un JTable

Hola, amigos javeros.

Tengo un JInternalFrame en el que establezco los rangos de bùsqueda para la BD. Luego presiono un botón y me abre otro JInternalFrame con una tabla ("tbl_filtros").
El siguiente método es el que trae los datos de la BD y está en el método formComponentShown del segundo JInternalFrame (el que contiene la tabla).

Código Javascript:
Ver original
  1. private void traerDatos(){
  2.         DefaultTableModel model = (DefaultTableModel) tbl_filtros.getModel();
  3.         Query query = sesion.createQuery("from Bienes where codigo between :descod and :hascod " +
  4.                                          "and nombre between :desnom and :hasnom " +
  5.                                          "and seccion between :dessec and :hassec " +
  6.                                          "and localizacion between :desloc and :hasloc " +
  7.                                          "and rubro between :desrub and :hasrub " +
  8.                                          "and fechaalta between :desalta and :hasalta order by codigo");
  9.         query.setParameter("descod", Integer.parseInt(codigoDe));
  10.         query.setParameter("hascod", Integer.parseInt(codigoHa));
  11.         query.setParameter("desnom", nombreDe);
  12.         query.setParameter("hasnom", nombreHa);
  13.         query.setParameter("dessec", Integer.parseInt(seccionDe));
  14.         query.setParameter("hassec", Integer.parseInt(seccionHa));
  15.         query.setParameter("desloc", Integer.parseInt(localizacionDe));
  16.         query.setParameter("hasloc", Integer.parseInt(localizacionHa));
  17.         query.setParameter("desrub", Integer.parseInt(rubroDe));
  18.         query.setParameter("hasrub", Integer.parseInt(rubroHa));
  19.         query.setParameter("desalta", fechaDe);
  20.         query.setParameter("hasalta", fechaHa);
  21.         Iterator<Entidades.Bienes> it = query.iterate();
  22.         while (it.hasNext()){
  23.             Entidades.Bienes b = it.next();
  24.             Object[] dat = {b.getCodigo(),
  25.                             b.getNombre(),
  26.                             b.getSecciones().getNombre(),
  27.                             b.getLocalizaciones().getNombre(),
  28.                             b.getRubros().getNombre(),
  29.                             b.getFechaalta(),
  30.                             b.getValororigen()};
  31.             model.addRow(dat);
  32.         }
  33.     }

Debido a que estoy trabajando con una BD relativamente grande (200.000 registros de 13 datos cada uno), el llenado de esta tabla demora un tiempo considerable, lo cual no es deseado a la vista del usuario. De qué forma puedo bajar los tiempos... es decir, ¿de qué forma puedo ir mostrando los datos a medida que los va cargando?

Muchas gracias.!