Tenho o seguinte codigo digitado em um arquivo .java
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DFF0900 extends JDialog{
JLabel lblCOMAND;
JTextField txtCOMAND;
JButton btnEXECUT, btnSAISQL;
public DFF0900(Frame booOWNER, String chaTITULO, boolean booMODAL){
super(booOWNER, chaTITULO, booMODAL);
Container ctnUTISQL = getContentPane();
ctnUTISQL.setLayout(null);
lblCOMAND = new JLabel("Comando");
txtCOMAND = new JTextField(255);
btnEXECUT = new JButton("Executar");
btnSAISQL = new JButton("Sair");
lblCOMAND.setBounds(10,20,200,20);
txtCOMAND.setBounds(10,50,380,20);
btnEXECUT.setBounds(80,80,100,20);
btnSAISQL.setBounds(210,80,100,20);
ctnUTISQL.add(lblCOMAND);
ctnUTISQL.add(txtCOMAND);
ctnUTISQL.add(btnEXECUT);
ctnUTISQL.add(btnSAISQL);
btnSAISQL.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int opcSAIDA;
Object[] objBOTOES = {"Sim", "Não"};
opcSAIDA = JOptionPane.showOptionDialog(null,"Deseja Realmente Sair?","Controle de Alugueis",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,objBOTOES,objBOTOES[0]);
if (opcSAIDA==JOptionPane.YES_OPTION){
booDFF0900.setVisible(false);
booDFF0900.dispose();
}
}
}
);
btnEXECUT.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String chaSERVID = "jdbc:postgresql://localhost/dffalu";
String chaUSUARI = "";
String chaSENHA = "";
try{
Class.forName("org.postgresql.Driver").newInstance();
}
catch(Exception event){
JOptionPane.showMessageDialog(null,"Não foi possivel encontrar e carregar o Driver!","Controle de Alugueis",JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
Connection conDFFALU;
conDFFALU = DriverManager.getConnection(chaSERVID, chaUSUARI, chaSENHA);
Statement staDFFALU = conDFFALU.createStatement();
staDFFALU.executeUpdate(txtCOMAND.getText());
JOptionPane.showMessageDialog(null,"Comando Executado Com Sucesso!","Controle de Alugueis",JOptionPane.INFORMATION_MESSAGE);
conDFFALU.close();
}
catch(Exception event){
JOptionPane.showMessageDialog(null,"Comando Não Executado! \n Verifique Conexão ou Sintaxe!","Controle de Alugueis",JOptionPane.ERROR_MESSAGE);
}
}
}
);
setResizable(false);
setSize(410,150);
setLocationRelativeTo(null);
}
}
que é inicializado a partir das linhas:
mitUTISQL.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
booDFF0900 = new DFF0900(null,"Executa Comando SQL",true);
booDFF0900.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
booDFF0900.setVisible(true);
}
}
);
Porem, quando clico no botão Sair (btnSAISQL), ele exibe a caixa de dialogo solicitando a confirmação, mas não fecha a janela.