IT всегда лучше переопределить метод setDefaultCloseOperation, если вы хотите выполнить некоторые дополнительные операции. Как бы то ни было, вы не можете остановить закрытие диалога. Я пытался, но не смог остановить его закрытие. Но да, переопределив метод setDefaultcloseoperation, я смог выполнить некоторые операции очистки списка и закрытия файла.
Попробуйте переопределить функцию следующим образом.
public class LaunchGenerator extends JDialog
{
public LaunchGenerator()
{
this.setSize(1200, 900);
contentPanel =new JPanel();
contentPanel.setLayout(null);
this.setContentPane(contentPanel);
setDefaultCloseOperation(2); // you can write anything inside the function.
}
public void setDefaultCloseOperation(int i)
{
if(i==2)
{
dispose();
//and all other things that you want to do. such as file closing and list cleanups.etc ,etc.
}
}