O diálogo Java não descarta
Java noob aqui. Minha classe Swing que se estendeJDialog
não descarta quando o usuário pressiona o botão Fechar do Windows - o java.exe permanece na memória. Eu reduzi o código até esse shell, ainda recebo esse comportamento.
Dei uma olhada em outras amostras, como emJava Swing básico, como sair e descartar seu aplicativo / JFrame
Quando eu comentei os doisSystem.exit(0)
linhas nesse código de exemplo, a classe nesse exemplo ainda é descartada corretamente. O que estou faltando para fazer minha classe se desfazer?
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();
}
}