Tengo un proyecto Java.

Tengo un JFrame con un controlador conectado a él

frame.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent evt) {
                this.setEnabled(true);

            }
        });

Pero, en ese marco también tengo un botón de cierre (para que sea más amigable con el usuario) y que el botón «cerrar» llamadas el marco método dispose. Ahora, cuando cierro el marco haciendo clic en el pequeño botón x en la esquina superior derecha, el WindowListener se llama. Pero el evento no se dispara cuando invoco el método dispose.


debo Invocar algún otro método para cerrar, por lo que el WindowListener incendios, o tal vez implementar otro oyente?

InformationsquelleAutor Andrej | 2010-11-11

2 Comentarios

  1. 4

    en ese marco también tengo un botón de cierre (para que sea más amigable con el usuario)

    Retirar el Cierre de una Aplicación solución para manejar esto. Todo lo que usted necesita hacer es agregar el «ExitAction» a tu botón, pero se puede utilizar el enfoque completo si lo desea.

    • que hizo el truco! tnx!
  2. 2

    Pasé días buscando una solución para el mismo problema como el OP.

    Se estaba escondiendo en la vista.
    El windowClosed() método es llamado cuando el marco está cerrada por la X botón o si myFrame.dispose() método es llamado.

    JFrame myFrame = new JFrame();
    myFrame.addWindowListener(new java.awt.event.WindowAdapter() {
        @Override
        public void windowClosed(java.awt.event.WindowEvent windowEvent) {
            //your code
        }
    });

    Fuente: https://alvinalexander.com/blog/post/jfc-swing/closing-your-java-swing-application-when-user-presses-close-but

Dejar respuesta

Please enter your comment!
Please enter your name here