Duvida Evento Botão_gravar

2 respostas
fabin

Boa noite pessoal,
Tenho conhecimentos básicos em java e optei a desenvolver um sistema para loja como monografia para aprender.
Estou no cadastro de cliente,no entanto o cadastro esta funcionando perfeitamente no banco mysql. O problema é na hora de utilizar o eventro Gravar. Fiz os metodos habilitaBotoes(), habilitaCampos()->textField,que estão sendo utilizados na tela. No entanto quando eu vou no evento do botao novoCliente() e preencho os campos, ele grava com sucesso mas não deixa voltar na tela principal para visualizar os dados cadastrados entre os textFields.

public void habilitabotoes(boolean status){

bt_novo.setEnabled(status);

bt_editar.setEnabled(status);

bt_gravar.setEnabled(!status);

bt_excluit.setEnabled(status);

bt_cancelar.setEnabled(!status);

bt_anterior.setEnabled(status);

bt_primeiro.setEnabled(status);

bt_proximo.setEnabled(status);

bt_ultimo.setEnabled(status);

}//fim metodo habilitabotoes
public void habilitaCampos(boolean status)
{
    tf_bairro.setEnabled(status);
    tf_cel.setEnabled(status);
    tf_cep.setEnabled(status);
    tf_cidade.setEnabled(status);
    tf_codigo.setEnabled(status);
    tf_complemento.setEnabled(status);
    tf_cpf.setEnabled(status);
    tf_dataNasc.setEnabled(status);
    tf_email.setEnabled(status);
    tf_nome.setEnabled(status);
    tf_num.setEnabled(status);
    tf_rg.setEnabled(status);
    tf_rua.setEnabled(status);
    tf_tel.setEnabled(status);
    cb_uf.setEnabled(status);
    rb_fem.setEnabled(status);
    rb_masc.setEnabled(status);
}//fim metodo habilitaCampos
public void mostrar_dados()

{

try

{

tf_codigo.setText(con_cliente.resultset.getString("cdCliente")) ;

tf_nome.setText(con_cliente.resultset.getString("nmCliente")) ;

tf_rg.setText(con_cliente.resultset.getString("rg")) ;

tf_cpf.setText(con_cliente.resultset.getString("cpf")) ;

tf_cep.setText(con_cliente.resultset.getString("cep")) ;

tf_dataNasc.setDate(con_cliente.resultset.getDate("dtNasc")) ;

cb_uf.setSelectedItem(con_cliente.resultset.getString("sgEstado")) ;

tf_rua.setText(con_cliente.resultset.getString("rua")) ;

tf_num.setText(con_cliente.resultset.getString("numero")) ;

tf_complemento.setText(con_cliente.resultset.getString("complemento")) ;

tf_cep.setText(con_cliente.resultset.getString("cep")) ;

tf_bairro.setText(con_cliente.resultset.getString("bairro")) ;

tf_cidade.setText(con_cliente.resultset.getString("cidade")) ;

tf_tel.setText(con_cliente.resultset.getString("telefone")) ;

tf_cel.setText(con_cliente.resultset.getString("celular")) ;

tf_email.setText(con_cliente.resultset.getString("email")) ;

if (con_cliente.resultset.getString("sexo").equals("M"))

{

rb_masc.setSelected(true) ;

}else

{

rb_fem.setSelected(true) ;

}
}
   catch(SQLException erro)
    {
      if (navega == 1)
       {
          // JOptionPane.showMessageDialog(null, "Primeiro Registro") ;
       }
       else if(navega ==2)
       {
           //JOptionPane.showMessageDialog(null,"Último Registro") ;
       }
    else
       {
      // JOptionPane.showMessageDialog(null, "Não foi possivel localizar dados"+erro) ;
       navega = 0;

       }

    }
}//fim metodo  mostrar_dados()

private void bt_gravarActionPerformed(java.awt.event.ActionEvent evt) {

cliente = new Cliente() ;

cliente.setNome(tf_nome.getText()) ;
   cliente.setRg(tf_rg.getText()) ;
   cliente.setCpf(tf_cpf.getText()) ;
   cliente.setDtNasc(tf_dataNasc.getDate()) ;
   cliente.setSexo(sexo) ;
   cliente.setRua(tf_rua.getText()) ;
   cliente.setNumero(tf_num.getText()) ;
   cliente.setComplemento(tf_complemento.getText()) ;
   cliente.setCep(tf_cep.getText()) ;
   cliente.setBairro(tf_bairro.getText()) ;
   cliente.setCidade(tf_cidade.getText()) ;
   cliente.setTelefone(tf_tel.getText()) ;
   cliente.setCelular(tf_cel.getText()) ;
   cliente.setEmail(tf_email.getText()) ;
   cliente.setEstado((String) cb_uf.getSelectedItem()) ;
   cliente.setStatus("A");

   String dATA = converteData.converteData(cliente.getDtNasc()) ;
    //codigo para gravar no banco de dados
    try
    {
      
        String sqlinsert =  "insert into tbcliente (nmCliente ,dtNasc ,telefone, cpf, rg, cep, rua, email, celular, sexo,cidade,bairro,complemento, numero, sgEstado,status)"
                + " values ('"+cliente.getNome()+
                "','"+dATA+
                "','"+cliente.getTelefone()+
                "','"+cliente.getCpf()+
                "','"+cliente.getRg()+
                "','"+cliente.getRua()+
                "','"+cliente.getCep()+
                "', '"+cliente.getEmail()+
                "', '"+cliente.getCelular()+
                "', '"+cliente.getSexo()+
                "', '"+cliente.getCidade()+
                "', '"+cliente.getBairro()+
                "', '"+cliente.getComplemento()+
                "', '"+cliente.getNumero()+
                "', '"+cliente.getEstado()+
                "','"+cliente.getStatus()+
                "')";
                System.out.println(sqlinsert );

        con_cliente.statement.executeUpdate(sqlinsert);
        JOptionPane.showMessageDialog(null, "Cadastro Efetuado com Sucesso "  );


    }
    catch(SQLException erro)
    {
        JOptionPane.showMessageDialog(null, "Erro ao tentar gravar o registro "+erro) ;

    }

   habilitabotoes(true);    [b]----------------->>AKI ESTA A DUVIDA, POIS A INTENÇÃO É QUANDO GRAVAR, ELE HABILITAR OS CAMPOS E VOLTAR A TELA NORMAL DE VIZUALIZAÇÃO, POIS QUANDO GRAVO ELE NÃO DEIXA VIZUALIZAR OS DADOS CADASTRADOS NOS CAMPOS TEXTFIELD [/b]
   habilitaCampos(false);----------------->>

}

Agradeço a todos…

2 Respostas

d34d_d3v1l

use:

campo.setEditable(true);
//ou
campo-setEditable(false);
fabin

Bom, o erro é o seguinte, os botoes e os campos habilitados estão funcionando, o erro e quando gravo no banco de dados, ele deveria retornar ao formulario de visualização, pois ele so habilita os botoes e campos e não deixa navegar e fazer nada, somente inserir um novo cliente. Sera que teria como chamar o metodo principal da classse para retornar depois que gravasse?

Criado 22 de fevereiro de 2011
Ultima resposta 23 de fev. de 2011
Respostas 2
Participantes 2