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

Detener Timer al cerrar JDialog Modal

Estas en el tema de Detener Timer al cerrar JDialog Modal en el foro de Java en Foros del Web. Hola de nuevo gente...Disculpen por preguntar tanto...Tengo un inconveniente al tratar de detener un Timer en un Jframe al cerrar un Jdialog asociado a un ...
  #1 (permalink)  
Antiguo 02/04/2015, 19:39
 
Fecha de Ingreso: noviembre-2014
Mensajes: 16
Antigüedad: 9 años, 5 meses
Puntos: 0
Detener Timer al cerrar JDialog Modal

Hola de nuevo gente...Disculpen por preguntar tanto...Tengo un inconveniente al tratar de detener un Timer en un Jframe al cerrar un Jdialog asociado a un botón de este, es decir, tengo un botón en un Jframe y al presionarlo este muestra una información en Jlabel (dentro de un Jdialog Modal) periódicamente mediante la operación de un Timer, pero es necesario que al cerrarse este el Jdialog este se detenga (el procedimiento del Timer está en el botón del Jframe).

He intentado utilizar algunos condicionales como:

Código Java:
Ver original
  1. Jframe JF=new Jframe();
  2. JDialog JD=new JDialog (JF,true);
  3. if (JD.isActive()){
  4. TIMER.stop();
  5. }

o


Código Java:
Ver original
  1. Jframe JF=new Jframe();
  2. JDialog JD=new JDialog (JF,true);
  3. if (JD.isActive()){
  4. TIMER.isAlwaysOnTop();
  5. }

O utilizar un booleano y asociarlo al cierre del Jdialog y compararlo en el Jframe...Pero sinceramente no se lo que estoy haciendo.

Agradezco de antemano la atención y la ayuda prestada...
  #2 (permalink)  
Antiguo 02/04/2015, 20:54
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Detener Timer al cerrar JDialog Modal

puedes añadirle un evento al JDialog, para cuando este se cierre, que se pare el timer
Código Java:
Ver original
  1. public class MiDialogo extends JDialog implements WindowListener
  2. {
  3.     public void windowClosing(WindowEvent e) {
  4.             TIMER.stop();
  5.     }
  6. }

Última edición por superweb360; 02/04/2015 a las 21:00
  #3 (permalink)  
Antiguo 02/04/2015, 21:48
 
Fecha de Ingreso: noviembre-2014
Mensajes: 16
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Detener Timer al cerrar JDialog Modal

Cita:
Iniciado por superweb360 Ver Mensaje
puedes añadirle un evento al JDialog, para cuando este se cierre, que se pare el timer
Código Java:
Ver original
  1. public class MiDialogo extends JDialog implements WindowListener
  2. {
  3.     public void windowClosing(WindowEvent e) {
  4.             TIMER.stop();
  5.     }
  6. }
También probe algo parecido colocando a
Código PHP:
javax.swing.Timer TIMER 
como global en el Jframe, y al cerrar en el Jdialog:

Código Java:
Ver original
  1. private void formWindowClosing(java.awt.event.WindowEvent evt) {                                  
  2. Jframe JF=new Jframe ();
  3. JF.TIMER.stop();
  4.     }

Pero al cerrar el Jdialog, me saltaba una excepción (nullpointer) y el Timer continuaba ejecutandose...
  #4 (permalink)  
Antiguo 05/04/2015, 13:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 50
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Detener Timer al cerrar JDialog Modal

Bueno, lo primero es que la clase Timer no te sirve. Si te fijas en la API, no tiene ningún método para parar y reanudar el tiempo:
https://docs.oracle.com/javase/7/doc...til/Timer.html

Yo por lo que he visto, quieres más algo parecido a la clase StopWatch de Apache. Échale un vistazo e igual te soluciona tu problema.

https://commons.apache.org/proper/co...StopWatch.html

Por lo demás, acuerdate siempre de instanciar los objetos que creas, ya que eso suele dar la mayoría de los errores nullpointer, y son despistes :P

Un saludo y espero haber ayudado!

Etiquetas: cerrar, detener, jdialog
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 00:54.