![]() |
Extraño problema con JFrame Buenas, Tengo un JFrame con un menú y un WindowListener. Cuando se hace click en la 'x' se cierra pasando por el WindowClosing, en el que pregunto si se quiere salir o no. Asimismo, en el menú Salir lanzo un evento que llama a dicho WindowClosing para centralizar la salida: Código: this.windowClosing( new WindowEvent(this, AWTEvent.RESERVED_ID_MAX + 1) );Código: this.removeWindowListener(this);El asunto es que he probado a quitar el 'addWindowListener()' de arriba y no ocurre, a ver si me podeis decir algo. Gracias |
Acabo de recordar que la ventana no se abre en realidad directamente desde el JFrame principal... sino que se abre un JDialog, y después de introducir unos valores se abre el otro con los resultados. Ambos JDialog tienen implementados sus interfaces en el JFrame principal, y el segundo se descarga cuando se cierra el tercero (el de los resultados). El problema lo he solucionado quitando el remove y el add antes de hacer el "new SeleccionarExpediente(...)", lo que no me queda claro es: 1) El quitar y volver a poner el WindowListener, estando en el JFrame principal... ¿por qué hacía que se llamara dos veces al WindowClosing() del JFrame principal al hacer click en "x"? 2) Con ello, por qué no ocurría lo mismo al salir desde el menú (que llama al WindoClosing)? |
Bien, después de seguir dándole a la cabeza llego a la conclusión de que: 1) al abrirse el primero JDialog quito el WindowListener 2) al abrirse el segundo JDialog quito el WindowListener.. 3) al cerrarse el segundo JDialog pongo un WindowListener 4) al cerrarse el primer JDialog pongo un WindowListener más... a) O sea que al cerrar la ventana desde 'x' se ejecutarían dos WindowClosing(), no dos veces el mismo... b) cuando salía desde el menú creando un evento... ? Espero que alguien me diga si voy desencaminado... |
| La zona horaria es GMT -6. Ahora son las 04:58. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.