Fechar um programa java corretamente quando JDialog for a janela principal

Eu tenho um JDialog como a janela principal do meu aplicativo (originalmente era um JFrame, mas mostrava na barra de tarefas o que eu não queria

Atualmente estou fazendo:

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

e quando clico em um botão de saída:

frame.dispose();

Mas o processo ainda parece demorar em segundo plano

JFrame tinhaJFrame.EXIT_ON_CLOSE que parecia fazer o que eu queri

Como posso fechar meu aplicativo corretamente?

questionAnswers(6)

yourAnswerToTheQuestion