Problemas com jRadioButton

2 respostas
Seken

Pessoal,

Estou fazendo uma aplicação na qual tenho que um cliente pode ser pessoa física ou pessoa jurídica e na hora de buscar do banco de dados gostaria que se o cliente fosse juridico ele desabilitaria os campos da pessoa fisica e buscaria os campos que foram cadastrados na pessoa juridica e vice-versa;

Tentei fazer isso só que quando seleciono meu cliente na jtable e utilizo a função carregar o cliente, ele busca os pessoa fisica só que ele apenas mostra os campos da pessoa juridica mesmo ele estando vazio

O Código está abaixo.

private void CarregarDadosLinhaSelecionada(){ jTableCadastroCliente.setRowSelectionAllowed(true); DefaultTableModel dlm = (DefaultTableModel) jTableCadastroCliente.getModel(); Vector dados = (Vector) dlm.getDataVector().get(jTableCadastroCliente.getSelectedRow()); CtrManterCliente = new CTR_ManterCliente(factory); Cliente cliente = (Cliente) CtrManterCliente.carregarUmCliente((Integer) dados.get(0)); jTextFieldDadosClienteNome.setText(cliente.getNome()); jFormattedTextFieldDadosClienteIdentidade.setText(cliente.getIdentidade()); jFormattedTextFieldDadosClienteTelefone.setText(cliente.getTelefone()); jFormattedTextFieldDadosClienteCelular.setText(cliente.getCelular()); jFormattedTextFieldDadosClienteDatadeNascimento.setText(cliente.getDatanascimento()); jTextFieldDadosClienteEmail.setText(cliente.getEmail()); jFormattedTextFieldDadosClienteInscricaoEstadual.setText(cliente.getInscricao_estadual()); jFormattedTextFieldDadosClienteCep.setText(cliente.getCep()); jTextFieldDadosClienteBairro.setText(cliente.getBairro()); jTextFieldDadosClienteCidade.setText(cliente.getCidade()); jTextFieldDadosClienteComplemento.setText(cliente.getComplemento()); jTextFieldDadosClienteLogradouro.setText(cliente.getLogradouro()); jTextFieldDadosClienteNumero.setText(cliente.getNumero()); int auxEstado = Integer.parseInt(cliente.getEstado()) -1; jComboBoxDadosClienteEstado.setSelectedIndex(auxEstado); String AuxCNPJ = cliente.getCnpj(); jFormattedTextFieldDadosClienteCpf.setText(cliente.getCpf()); jFormattedTextFieldDadosClienteCnpj.setText(cliente.getCnpj()); if (AuxCNPJ != ""){ jRadioButtonDadosClientePessoaJuridica.setSelected(true); jFormattedTextFieldDadosClienteCnpj.setVisible(true); jLabelDadosClienteCnpj.setVisible(true); jFormattedTextFieldDadosClienteInscricaoEstadual.setVisible(true); jLabelDadosClienteInscricaoEstadual.setVisible(true); jFormattedTextFieldDadosClienteCpf.setVisible(false); jLabelDadosClienteCpf.setVisible(false); }else{ jRadioButtonDadosClientePessoaFisica.setSelected(true); jFormattedTextFieldDadosClienteCpf.setVisible(true); jLabelDadosClienteCpf.setVisible(true); jFormattedTextFieldDadosClienteCnpj.setVisible(false); jLabelDadosClienteCnpj.setVisible(false); jFormattedTextFieldDadosClienteInscricaoEstadual.setVisible(false); jLabelDadosClienteInscricaoEstadual.setVisible(false); } }

2 Respostas

J

Amigo,

Veja se seu CtrManterCliente.carregarUmCliente está preenchendo os atributos do objeto Cliente corretamente.
Percebi que no retorno desta função você está fazendo um TypeCast para um objeto Cliente. Que tipo de Objeto esta função retorna?
É o mesmo objeto Cliente?

Poste o código da função que carrega os dados do objeto Cliente.

Abraço.

Seken

Joao Miguel,

Consegui resolver meu problema, simplesmente separei em duas funções, uma para carregar tudo e a outra a pessoa fisica ou juridica.

private void carregarcpjcnpj(){ jTableCadastroCliente.setRowSelectionAllowed(true); DefaultTableModel dlm = (DefaultTableModel) jTableCadastroCliente.getModel(); Vector dados = (Vector) dlm.getDataVector().get(jTableCadastroCliente.getSelectedRow()); CtrManterCliente = new CTR_ManterCliente(factory); Cliente cliente = (Cliente) CtrManterCliente.carregarUmCliente((Integer) dados.get(0)); jFormattedTextFieldDadosClienteCpf.setText(cliente.getCpf()); jFormattedTextFieldDadosClienteCnpj.setText(cliente.getCnpj()); String AuxCNPJ = cliente.getCnpj(); if (!(AuxCNPJ.equals(""))){ jRadioButtonDadosClientePessoaJuridica.setSelected(true); jRadioButtonDadosClientePessoaJuridica.setVisible(true); jRadioButtonDadosClientePessoaFisica.setVisible(false); jFormattedTextFieldDadosClienteCnpj.setVisible(true); jLabelDadosClienteCnpj.setVisible(true); jFormattedTextFieldDadosClienteInscricaoEstadual.setVisible(true); jLabelDadosClienteInscricaoEstadual.setVisible(true); jFormattedTextFieldDadosClienteCpf.setVisible(false); jLabelDadosClienteCpf.setVisible(false); }else{ jRadioButtonDadosClientePessoaFisica.setSelected(true); jRadioButtonDadosClientePessoaFisica.setVisible(true); jRadioButtonDadosClientePessoaJuridica.setVisible(false); jFormattedTextFieldDadosClienteCpf.setVisible(true); jLabelDadosClienteCpf.setVisible(true); jFormattedTextFieldDadosClienteCnpj.setVisible(false); jLabelDadosClienteCnpj.setVisible(false); jFormattedTextFieldDadosClienteInscricaoEstadual.setVisible(false); jLabelDadosClienteInscricaoEstadual.setVisible(false); } }

Criado 14 de abril de 2008
Ultima resposta 14 de abr. de 2008
Respostas 2
Participantes 2