Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2015, 07:22
lucho248
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 13 años, 6 meses
Puntos: 5
actualizar un jtable en un tiempo "x"

Hola amigos, tengo el siguiente esquema, en una caja de una ferreteria tengo una ventana simpre visible que tiene un jtable, la cual le muestra los ticket generados (por unos colectores de datos).
que los levanta de una tabla "venta_ticket (id, nroTicket, detalle, cantidad)".
la ventana se genera correctamente.
el boton "actualizar" llama un metodo initTabla(); que actualiza la ventana con los nuevos ticket y quita los que se completaron (vendieron).

en fin, lo que les quiero consultar es que no se como podria hacer que esa actualizacion de la tabla puntualmente, se hagan cada "X" tiempo, o cuando se produce alguan modificacion en la tabla (venta o ticket nuevos). Que se dispare ese metodo "initTabla()" como para refrezcarla. Estas nuevas ventas o ticket se generan en unos colectores de datos, y los carga directamente en la tabla nombrada en la base.

Código Metodo de inicializar la tabla:
Ver original
  1. /**CARGA TABLAS LISTA DE TICKETS */
  2.     public void initTabla(){
  3.         model = new DefaultTableModel(
  4.             new Object[][] {
  5.                     {null, null, null, null},
  6.                     {null, null, null, null},
  7.                     {null, null, null, null},
  8.                     {null, null, null, null},
  9.                     {null, null, null, null},
  10.                     {null, null, null, null},
  11.                     {null, null, null, null},
  12.                     {null, null, null, null},
  13.                     {null, null, null, null},
  14.                     {null, null, null, null},
  15.                     {null, null, null, null},
  16.             },
  17.             new String[] {
  18.                 "ID", "Ticket", "Fecha", "Art. Distintos"
  19.             }
  20.         ) {
  21.             Class[] columnTypes = new Class[] {
  22.                 String.class, String.class, String.class, String.class
  23.             };
  24.             public Class getColumnClass(int columnIndex) {
  25.                 return columnTypes[columnIndex];
  26.             }
  27.         };
  28.         jtTabla.setModel(model);
  29.         jtTabla.getColumnModel().getColumn(0).setPreferredWidth(40);
  30.         jtTabla.getSelectionModel().addListSelectionListener(new RowListener());
  31.              
  32.         List<Venta>list = null;
  33.         list = FisicaVenta.listVenta();
  34.        
  35.         if(list.size() != 0){
  36.             model.setRowCount(0);
  37.             int art;
  38.             String fecha;
  39.             for (Venta x : list) {
  40.                 art = x.size();
  41.                 fecha = Util.getDate(x.getFecha());
  42.                 model.addRow(new Object[] {
  43.                         x.getId(),
  44.                         x.getNumeroVenta(),
  45.                         fecha,
  46.                         art
  47.                         });
  48.             }
  49.         }
  50.        
  51.         jtTabla.getColumnModel().getColumn(0).setCellRenderer(alinearCentro);
  52.         jtTabla.getColumnModel().getColumn(1).setCellRenderer(alinearCentro);
  53.         jtTabla.getColumnModel().getColumn(2).setCellRenderer(alinearCentro);
  54.         jtTabla.getColumnModel().getColumn(3).setCellRenderer(alinearCentro);
  55.        
  56.         jtTabla.setToolTipText("Lista de ticket");
  57.     }
Alguien se le ocurre algo? o paso por algo similar?
Desde ya muchas gracias.
Abrazo.