corrigi o post, coloquei os códigos erroneamente. Minhas desculpas
Retorno de foco para um JFrame
1 Resposta
Bom dia pessoal, sou novato e estou “quebrando” a cabeça com um aplicativo que tento desenvolver.
Meu problema é o retorno do foco ao formulário.
Vejam só, possuo uma classe chamada AcessoBD e nela tenho um método chamado ExecutaSQL, segue abaixo:
public boolean ExecutaSQL(String strSQL){
objConexao = AbreConexaoBD();
try{
objConexao.setAutoCommit(false);
objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
// Executando a query
int objRS = objComando.executeUpdate(strSQL);
objConexao.setAutoCommit(true);
// Retornando o boolean
return true;
}
catch(SQLException e){
JOptionPane.showConfirmDialog(null,"Não foi possível realizar esta operação! Tente novamente..." + e, " VALIDAÇÃO DO BANCO DE DADOS", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
if (objConexao!=null)
{
try {
objConexao.rollback();
JOptionPane.showConfirmDialog(null, "Informações do banco de dados foram mantidas consistentes!", "VALIDAÇÃO DO BANCO DE DADOS", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
}
catch (SQLException ex) {
JOptionPane.showConfirmDialog(null, "Pode existir dados inconsistentes no banco de dados!", "VALIDAÇÃO DO BANCO DE DADOS", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
}
}
return false;
}
}
Então possuo outra classe chamada clsUsers, com um método chamado Inserir(), segue
public void inserir()
{
// put your code here
String senha=getPassword();
if (senha.equals("")){
senha="delphi01";
}
String Sql = ("INSERT INTO tbl_User (user_Name, user_Senha, user_Perfil) VALUES ('" + getUser() + "','" + senha + "','" + getLevel() + "')");
AcessoBD obj = new AcessoBD();
obj.AbreConexaoBD();
obj.ExecutaSQL(Sql);
obj.FechaConexaoBD();
}
Por fim, tenho a classe que faz a apresentação gráfica - GUI, chamada clsGUIUsers, nela tenho 2 botões Salvar e Cancelar, abaixo o código que realiza as ações dos botões:
public void actionPerformed(ActionEvent acao)
{
String user = fldUsuario.getText();
String password = new String(fldSenha.getPassword());
String nivel = (String) cmbNivel.getSelectedItem();
if(acao.getSource()==btSave)
{
clsUsers obj = new clsUsers(user, password, nivel);
obj.inserir();
Limpar();
JOptionPane.showConfirmDialog(null,"Operação executada com sucesso!", " MANIPULAÇÃO DO BANCO DE DADOS", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
} else
if(acao.getSource()==btCancel)
{
dispose();
}
}
Até ai tudo certo pessoal, o sistema em si esta funcionando, o meu problema é que ao clicar no Salvar, minha JFrame perde o foco e o sistema fica parado, como seu eu tivesse clicado ALT+TAB, então tenho de clicar no formulário para o sistema disparar a resposta do meu JOptionPane e continuar sua execução.
Onde esta meu erro?
Grato