O programa Java Swing não fecha após o descarte ser chamado na última janela

Prefácio: Este é o primeiro programa de swing real que eu já fiz.

Eu tenho um programa de swing, onde um JButton deve sair do programa. Esse botão aciona this.dispose () ;. Quando clico neste JButton, elefaz faça a janela desaparecer completamente, mas, olhando para o depurador, o programa em si ainda está em execução.

Meu método principal consiste apenas em:

public static void main (String[] args)
{
  java.awt.EventQueue.invokeLater(new Runnable()
  {
    public void run()
    {
      new StartupGui().setVisible(true);
    }
  });
}

Meu botão de saída se parece com o botão de ação:

private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
  this.dispose();
}

Eu também tentei isso para o botão de saída:

private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
  java.awt.EventQueue.invokeLater(new Runnable()
  {
    public void run()
    {
      dispose();
    }
  });
}

Olhando para o depurador depois de pressionar o botão sair, vejo o seguinte (e apenas o seguinte):

Daemon Thread [AWT-XAWT] (running)
Thread [AWT-Shutdown] (running)
Thread [AWT-EventQueue-0] (running)
Thread [DestroyJavaVM] (running)

Alguém pode me apontar na direção certa a respeito de por que o programa não está sendo encerrado após esse ponto? Eu pesquisei no Google, mas não cheguei a lugar nenhum até agora. Se precisar de mais informações, entre em contato.

Obrigado :)

questionAnswers(2)

yourAnswerToTheQuestion