• Jueves 14 de Noviembre de 2024, 19:14

Autor Tema:  Evento Windowclosing(windowevent E)  (Leído 1479 veces)

jotny

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Evento Windowclosing(windowevent E)
« en: Domingo 31 de Octubre de 2004, 04:33 »
0
Hola... tengo el siguiente problema...

mi aplicacion dibuja objetos en un canvas etc etc...

al cerrar la aplicacion, manejo el evento void windowClosing(WindowEvent e).

necesito verificar cosas antes que la aplicacion se cierre...
pero... el problema esta en cuando uno presiona crt+f4, no toma esos eventos y la cierra igual.. o en algunos casos puedo preguntar desea salir sin guardar?... acepte o cancele el dialogo.. la ventana se me cierra igual..

como puedo manejar un evento que me verifique antes de cerrar y si no se sumple la condicion deseada cancele el cierre de la ventana?

de antemano muchisimas gracias.

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Evento Windowclosing(windowevent E)
« Respuesta #1 en: Viernes 19 de Noviembre de 2004, 09:37 »
0
Hola que tal.

No se si todavia te sirva, pero si no pues le puede servir a alguien mas, lo unico que tienes que hacer es algo como el siuiente codigo:


    public boolean handleEvent( Event evt ) {
        if( evt.id == Event.WINDOW_DESTROY ){


            dispose();                           /*lo usas para cerrar la ventana*/


            return( true );
            }
     }

En esta parte cuando se intenta cerrar tu ventana, primero llega aqui, lo unico que debes hacer es poner las condiicones que gustes y si quieres cerrar la ventana pues pones el dispose(); y si no quieres que se cierre tu ventana pues no lo pones y tu ventana seguira abierta realizando las mismas funciones, hasta que uses uses dispose().

Bueno, espero esto se util para los que vean el mensaje.

jotny

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Evento Windowclosing(windowevent E)
« Respuesta #2 en: Lunes 22 de Noviembre de 2004, 00:27 »
0
en la form, hay una opcion llamada defaultCloseOperation, en la cual hay que poner DO_NOTHING, y despues definir el evento WindowClosing.

De la forma que sea que la ventana se cierre... en este evento si realmente se requiere que la ventana se cierre... se pone dispose();

sino, la ventana jamas se cierra... a pesar de poner el ctrl-alt sup y eliminar proceso o un alt+f4.... era demasiado simple la solucion, espero que les sirve el tip a todos... muchas gracias de todas maneras
 :smartass: