Java диалог не располагает

Ява нуб здесь. Мой класс Swing, который расширяетсяJDialog не удаляется, когда пользователь нажимает кнопку закрытия Windows - java.exe остается в памяти. Я сократил код до этой оболочки, я все еще получаю такое поведение.

Я посмотрел на другие образцы, такие какБазовый Java Swing, как выйти и утилизировать ваше приложение / JFrame
Когда я закомментировал дваSystem.exit(0) строки в этом примере кода, класс в этом примере по-прежнему расположен правильно. Чего мне не хватает, чтобы избавиться от моего класса?

import javax.swing.JFrame;
import javax.swing.JDialog;
public class WhyNoDispose extends JDialog{
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    WhyNoDispose frame = new WhyNoDispose("my title");
                    frame.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                    frame.setVisible(true);
                    //System.exit(0);
                }
                catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    public WhyNoDispose(String title) {
        super(new JFrame(title), ModalityType.APPLICATION_MODAL);
        pack();
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос