Estou querendo que quando o usuário clicar no “x” da janela, exiba uma mensagem se ele quer realmente fechar a janela. Nao estou conseguindo. O que esta de errado?
import java.awt.FlowLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
public class Principal extends JFrame {
public Principal() {
setTitle("Janela JFrame");
setSize(500, 300);
setResizable(false);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout(FlowLayout.CENTER, 5, 20));
add(new JButton("Inserir"));
add(new JButton("Excluir"));
add(new JButton("Listar Todos"));
add(new JButton("Pesquisar"));
setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent e) {
int resposta = JOptionPane.showConfirmDialog(null, "Deseja realmente"
+ " fechar o programa?", "Mensagem de saída",
JOptionPane.YES_NO_OPTION);
if (resposta == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}
public static void main(String[] args) {
new Principal();
}
}