Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Usar Thread o Timer Task pero en Jframe

Estas en el tema de Usar Thread o Timer Task pero en Jframe en el foro de Java en Foros del Web. Buenas tardes, intentaré explicar mi problema lo más claro posible... porque hasta yo no sé cómo plantear la solución a lo que debo hacer. Estoy ...
  #1 (permalink)  
Antiguo 08/04/2015, 12:19
Avatar de paula23andrea  
Fecha de Ingreso: noviembre-2012
Mensajes: 38
Antigüedad: 11 años, 5 meses
Puntos: 1
Pregunta Usar Thread o Timer Task pero en Jframe

Buenas tardes, intentaré explicar mi problema lo más claro posible... porque hasta yo no sé cómo plantear la solución a lo que debo hacer.

Estoy "desarrollando" un simulador de procesos, entonces tengo una interfaz con 4 tablas (jtable )que representan el estado de los procesos, tengo 4 funciones que determinan el estado actual de un proceso y hacen que se visualice en alguna de ellas (no en más de una al tiempo), Puse un Timer a modo de reloj segundero, y en el ActionPerformed del ActionListener llamaba a estas funciones, porque la idea es que se pueda visualizar el movimiento del proceso entre las tablas y de algún modo hice que funcionara. El problema es que al agregar más procesos, no se ve el estado en "tiempo real" porque hasta que ejecuta otra vez la primera función se refresca la tabla entonces no puedo seguir cada proceso porque se ejecutan secuencial las funciones y por ende el orden de actualizaciónd e las tablas.
He leído sobre timertask, que se supone me permite hacer que las 4 funciones se ejecuten al mismo tiempo. pero todos los tutoriales y ejemplos que hay en internet muestran un solo timertask y en clases donde el resultado sale por consola.
He replanteado el problema muchas veces y realmente no sé qué hacer, tengo un vacío completo sobre el manejo del tiempo en las tareas que ejecuta una aplicación. Agradezco si alguien ha leído y me he hecho entender aunque sea un poco, para que me de orientación sobre multihilo en un jframe.

Gracias!!! :(
  #2 (permalink)  
Antiguo 11/04/2015, 08:25
Avatar de Andreslrz  
Fecha de Ingreso: septiembre-2008
Mensajes: 99
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Usar Thread o Timer Task pero en Jframe

Lo que buscas es actualizar la interfaz con los hilos, es lo que entiendo, no veo problema con eso.
Creas una funcion a la que le pasas los nuevos datos que se van a mostras, (ya sabes que la tienes que llamar en cada thread) y con el codigo a continuacion actualizas la interfaz sin que salgan cosas raras, si usas canvas para el reloj ese codigo te borra el rastro que deja cuando no actualizas correctamente.
Código Java:
Ver original
  1. SwingUtilities.invokeLater(new Runnable() {
  2.      public void run() {
  3.           //aqui actualizas tu interfaz
  4.      }
  5. });
  #3 (permalink)  
Antiguo 11/04/2015, 18:49
Avatar de paula23andrea  
Fecha de Ingreso: noviembre-2012
Mensajes: 38
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Usar Thread o Timer Task pero en Jframe

Ya lo arreglé usando el patron de diseño Singleton, haciendo el llamado a la instancia del jframe cada vez que necesitara abrirlo. Así se actualiza todo el tiempo real.

Muchas gracias!! :D
__________________
Suerte!!

Etiquetas: funciones, jframe, jtable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.