Java - ATENDER EVENTOS EN JAVA (jbutton)

 
Vista:

ATENDER EVENTOS EN JAVA (jbutton)

Publicado por Chema (2 intervenciones) el 26/03/2014 17:38:16
Hola. Tengo un problema serio a la hora de gestionar un evento de pulsado de un botón.
A ver si uds. pueden ayudarme.
Me explico:

Tengo un método que realiza una tarea la cual es deseable poder permitir su detención.
La tarea está compuesta por varios bucles anidados.

1
2
3
4
5
6
7
8
public void TareaX(){
 
  while (condicionA) {
    while (condicionB) {
      // Resto de bucles anidados hasta un total de 6 
    }
  }
} // fin TareaX

Para poder mostrar en qué punto del proceso se encuentra la aplicación, he utilizado una clase que controla un JFrame, el cual tiene una barra de progreso y un botón, que al pulsarlo debe cancelar la TareaX.

El botón de cancelado, tiene asociado un evento que activa una variable de clase, indicando que se ha pulsado el botón de cancelar.

Bien, en varios puntos de los bucles introduzco acciones de refresco para la ventana. tanto para la barra de progreso como para el botón.

Sin embargo me ocurren 2 cosas:
1) El evento del botón nunca se dispara. Se puede decir que la ventana no lo captura, quizá por la velocidad del proceso de ejecución de la TareaX. Es decir, nunca puedo detener el proceso
2) Mediante algunas acciones de refresco, se producen parpadeos, además de que éstas acciones ralentizan muchísimo el tiempo de ejecución.

¿Alguien se ha encontrado con algo similiar o pueden darme alguna otra idea de cómo implementar ésto?
Muchísimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder