windowopened windowevent addwindowlistener java swing user-interface jframe windowlistener

java - windowevent - JFrame en operación cercana



windowlistener in java (3)

@Jeffrey tiene una buena respuesta, pero debes considerar lo que estás tratando de hacer. Si realmente desea hacer algo al cerrar un marco, entonces WindowListener es el camino a seguir. Sin embargo, si estás buscando un lugar para hacer algunas tareas de limpieza y apagado ordenado, entonces probablemente quieras un gancho de apagado . Usando un WindowListener, el código solo se activará, como usted dijo, por el usuario "haciendo clic en la X". Pero, ¿qué pasa si el usuario inicia la aplicación en el primer plano de un terminal y lo mata con Ctrl + C? ¿Qué sucede si el usuario elimina el proceso de la línea de comando o de un administrador de tareas?

Me preguntaba si hay una manera, haciendo clic en la "X", para permitir que el programa ejecute algún código antes de cerrar el JFrame. El método setDefaultCloseOperation() solo toma un número entero.

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ int i=JOptionPane.showConfirmDialog(null, "Seguro que quiere salir?"); if(i==0) System.exit(0);//cierra aplicacion } });