This is my main method and it contains shutdownhook:
public static void main(String args[]) { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { JOptionPane.showMessageDialog(null, "Shutdown hook"); } }); java.awt.EventQueue.invokeLater( new Runnable() { @Override public void run() { Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler()); MyFrame frame = new MyFrame(); frame.setVisible(true); } }); }
The problem is that JOptionPane not showing at all. Instead, the frame closes, but the application itself still works. PS. I cannot use the WindowClosing event because it does not fire on the Cmd + Q command on Mac OS X.
source share