为什么这个 shutdownhook 不起作用?

Igo*_*gor 5 java events swing shutdown-hook

这是我的主要方法,它包含一个 shutdownhook:

public static void main(String args[]) {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            JOptionPane.showMessageDialog(null, "Shutdown hook");
        }
        });

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(
            new Runnable() {
                @Override
                public void run() {
                    Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
                    MyFrame frame = new MyFrame();
                    frame.setVisible(true);
                }
            });
}
Run Code Online (Sandbox Code Playgroud)

问题是JOptionPane根本不显示。相反,框架会关闭,但应用程序本身仍然运行。附言。我无法使用该WindowClosing事件,因为它不会在Mac OS XCmd上的+Q命令上触发。