Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/04/2009, 10:43
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problema con Threads

Hola:

Es complicado de entender lo que estás comentando.

Así, sin saber mucho el detalle de tu aplicación y quizás esté metiendo la pata, yo instanciaría en el principal un DefaultTableModel y se lo pasaría a todo el mundo: Al hilo que debe consultar datos y meterlos en el JTable, al JTable, al que tiene que actualizar el JTable, etc.

Si metes el DefaultTableModel en el JTable con su método setModel(), el JTable se actualizará automáticamente ante cualquier cambio de datos que se haga en el DefaultTableModel.

Los hilos no necesitan ver al JTable para nada. Unicamente pásales el DefaultTableModel y que metan en él los datos. Esto actualizará automáticamente el JTable.

Para evitar problemas de sincronismo entre hilos y teniendo en cuenta que los cambios en ese DefaultTableModel afectarán al JTable, yo haría las actualizaciones en un SwingUtilities.invokeLater()

Código:
// Aquí el código del hilo que tenga que rellenar datos en el modelo (DefaultTableModel)
// conseguir datos
SwingUtilities.invokeLater (new Runnable() {
   public void run() {
      modelo.addRow(....);
      modelo.setValueAt(....);
      // etc.
   }
});
Se bueno.
__________________
Apuntes Java
Wiki de Programación