Quiero llamar a un método confirmExit()
cuando se hace clic en el botón rojo de cierre de la barra de título de un JFrame.
¿Cómo puedo capturar ese evento?
También me gustaría evitar que la ventana se cierre si el usuario elige no continuar.
java
swing
jframe
windowlistener
alxcyl
fuente
fuente
implements WindowListener
para que este código funcione? Si es así, sería bueno incluirlo en la respuesta. De lo contrario, esta es una solución elegante.también funciona. Primero cree un marco llamado JFrame, luego agregue este código debajo.
fuente
confirmExit()
método como le gustaría al OPconfirmExit()
cuando se hace clic en [la X]". Y el comentario anterior no está relacionado con OQ.Esto puede funcionar:
jdialog.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { System.out.println("jdialog window closed event received"); } public void windowClosing(WindowEvent e) { System.out.println("jdialog window closing event received"); } });
Fuente: https://alvinalexander.com/java/jdialog-close-closing-event
fuente
Esto es lo que puse como opción de menú donde hice un botón en un
JFrame
para mostrar otroJFrame
. Quería que solo el nuevo marco fuera visible, y no destruir el que estaba detrás. Inicialmente escondí el primeroJFrame
, mientras que el nuevo se hizo visible. Al cerrar el nuevoJFrame
, lo deseché seguido de una acción de hacer que el viejo volviera a ser visible.Nota: El siguiente código se expande a partir de la respuesta de Ravinda y
ng
es unJButton
:ng.addActionListener((ActionEvent e) -> { setVisible(false); JFrame j = new JFrame("NAME"); j.setVisible(true); j.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent windowEvent) { setVisible(true); } }); });
fuente
Prueba esto:
Funcionará.
fuente