Hola, por favor ayudedme con esto que quiero presenar mi proyecto de fin de carrera en julio y llevo días peleandome con lo siguiente:
Tengo una clase que ejecuta una computacion pesada y quise poner un ProgressMonitor, pero que sea pesada es la razon por la que no me muestra informacion el ProgressMonitor.
Consegui acercarme a la solucion usando un SwingWorker que me crea un hilo para la computacion pesada.
Para el ProgressMonitor creo una clase propia que mediante un timer mire por donde va de la computacion y lo indique.
El problema es que la clase que llama al SwingWorker debe esperar a que este termine para devolver su resultado, asi que pasa lo siguiente:
1) Ejecuta la funcion que debe devolver un resultado
1.1) Crea el Swingworker y este comienza a trabajar
1.2) Crea un ProgressMonitor con un timer que ira actualizandose
1.3) Devuelve el objeto construido por Swingworker, osea null porque no le dio tiempo
Probe a dormir a la clase original mientras no acaba el worker y da el resultado correcto pero NO actualiza el ProgressMonitor
Probe a hacer que el ProgressMonitor sea otro SwingWorker, pero en cuanto crea la clase monitor con su timer, ya no tiene mas codigo que ejecutar y se termina, por lo que no recive los eventos del timer. Pero si duermes al monitor ya no recive eventos.
Por favor ayuda, ya no se que probar