CERRAR VENTANA
Holaaaaaaa!!!!!!!
Tengo una ventana, en la que tengo registrado WindowListener, y cd pulse el aspa de cerrar muestro un cuadro de dialogo para ver si quiere cerrar o no.
Mi problema esque si me dice que no quiere cerrar, la ventana no se me ve, no se pq no me aparece por pantalla.
Como puedo conseguir volver a hacerla visible.
He comprobado que redefiniendo el metodo windowClosing, sin poner nada, siempre ocurre esto.
Gracias por vuestra ayuda
Tengo una ventana, en la que tengo registrado WindowListener, y cd pulse el aspa de cerrar muestro un cuadro de dialogo para ver si quiere cerrar o no.
Mi problema esque si me dice que no quiere cerrar, la ventana no se me ve, no se pq no me aparece por pantalla.
Como puedo conseguir volver a hacerla visible.
He comprobado que redefiniendo el metodo windowClosing, sin poner nada, siempre ocurre esto.
Gracias por vuestra ayuda
El problema creo que es que no estais utilizando el evento adecuado. windowClosed se lanza y te notifica cuando la ventana HA SIDO CERRADA por el usuario. windowClosing notifica cuando el usuario QUIERE cerrar la ventana y creo que se puede anular, no estoy seguro como
Tu debes haber agregado en la clase que implemento la ventana:
import java.awt.event.*;
.
.
.
.
.
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
System.exit(0);};} );
Que te vaya bien.
Attm.
import java.awt.event.*;
.
.
.
.
.
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
System.exit(0);};} );
Que te vaya bien.
Attm.
muchas gracias, pero ese no es mi problema, creo q no me he explicado bien. yo no quiero terminar el programa cd pulse el aspa, sino que vuelva a la situacion original, pero esq siempre la ventana me desaparece.
Si sabes como hacer esto
;)Gracias
Si sabes como hacer esto
;)Gracias
Tienes de añadir esta línia al código:
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Ahora, al tocar en el botón de cerrar no hará nada de nada.
Luego ya lo tienes:
public void windowClosing(WindowEvent e)
{
int salir = JOptionPane.showConfirmDialog(this, "Seguro que quieres salir del programa?", "Salir", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(salir == JOptionPane.YES_OPTION)
System.exit(0);
}
Ta luego!
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Ahora, al tocar en el botón de cerrar no hará nada de nada.
Luego ya lo tienes:
public void windowClosing(WindowEvent e)
{
int salir = JOptionPane.showConfirmDialog(this, "Seguro que quieres salir del programa?", "Salir", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(salir == JOptionPane.YES_OPTION)
System.exit(0);
}
Ta luego!