Estou com um problema de NullPointException

5 respostas
R

Olá, boa tarde a todos.
Estou fazendo uma tela de pesquisa e quando o usuário da um duplo clique na jtable do frame pesquisa ele pega o codigo do cliente e passa o valor para a tela de cadastro, onde é feita a busca para colocar os valores dos dados nos jtextfield, mais está dando nullpointexception.
Segue código.:

Tela de Pesquisa.:
Método onde pega o código do cliente na jTable

public int retornaSelecao() {
        return (int) tablePesquisa.getValueAt(tablePesquisa.getSelectedRow(), 0);
    }

Evento MouseClicked da jTable onde passo o dado

private void tablePesquisaMouseClicked(java.awt.event.MouseEvent evt) {                                           
        if (evt.getClickCount() == 2) {
             CadastroCliente cliente = new CadastroCliente(this.retornaSelecao());
             this.dispose();
        }
        
    }

Tela de Cadastro

public CadastroCliente() {
        initComponents();
        this.desabilitaCampos();

        btnAlterar.setEnabled(false);
        btnExcluir.setEnabled(false);
        btnCancelar.setEnabled(false);
        btnSalvar.setEnabled(false);
        btnNovo.setEnabled(true);
        btnPesquisa.setEnabled(true);
        btnSair.setEnabled(true);
    }
    
    public CadastroCliente(int codigo){
        String sql = "SELECT * FROM CLIENTE WHERE CODIGO = " + codigo;
        Conexao conexao = new Conexao();
        ResultSet rst;
        
        //System.out.println("" + codigo);
        try {
            pstm = conexao.conectar().prepareStatement("SELECT * FROM CLIENTE WHERE CODIGO = '" + codigo + "';");
            rst = pstm.executeQuery();
            while (rst.next()) {
                txtCodigo.setText("" + rst.getString("codigo"));
                System.out.println("" + rst.getString("codigo"));
                txtDataCadastro.setText(rst.getDate("datacadastro").toString());
                txtDataNascimento.setDate(rst.getDate("datanascimento"));
                txtNome.setText(rst.getString("nome").toUpperCase());
                txtApelido.setText(rst.getString("apelido").toUpperCase());
                txtEndereco.setText(rst.getString("endereco").toUpperCase());
                txtNumero.setText(rst.getString("numero"));
                txtComplemento.setText(rst.getString("complemento").toUpperCase());
                txtBairro.setText(rst.getString("bairro").toUpperCase());
                txtCep.setText(rst.getString("cep"));
                txtNomeCidade.setText(rst.getString("cidade").toUpperCase());
                txtRg.setText(rst.getString("rg"));
                txtCpf.setText(rst.getString("cpf"));
                cbPagamento.setSelectedItem(rst.getInt("diapagamento"));
                txtMensalidade.setText("" + rst.getFloat("mensalidade"));
                txtTelefoneResidencial.setText(rst.getString("telres"));
                txtTelefoneComercial.setText(rst.getString("telcom"));
                txtTelefoneCelular.setText(rst.getString("celular"));
                txtInformacoes.setText(rst.getString("informacoes"));
            }
        } catch (SQLException ex) {
            Logger.getLogger(CadastroCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Onde estou errando?
Alguém pode me ajudar?
Obrigado!

5 Respostas

jeffev

Poste o erro do NullPointer, pois nele é informada em qual linha que ocorre o problema.

R
Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at br.com.erp.cliente.CadastroCliente.(CadastroCliente.java:55)

at br.com.erp.cliente.PesquisaCliente.tablePesquisaMouseClicked(PesquisaCliente.java:275)

at br.com.erp.cliente.PesquisaCliente.access$700(PesquisaCliente.java:19)

at br.com.erp.cliente.PesquisaCliente$9.mouseClicked(PesquisaCliente.java:223)

at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)

at java.awt.Component.processMouseEvent(Component.java:6508)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

at java.awt.Component.processEvent(Component.java:6270)

at java.awt.Container.processEvent(Container.java:2229)

at java.awt.Component.dispatchEventImpl(Component.java:4861)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)

at java.awt.Container.dispatchEventImpl(Container.java:2273)

at java.awt.Window.dispatchEventImpl(Window.java:2713)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)

at java.awt.EventQueue.access$000(EventQueue.java:101)

at java.awt.EventQueue$3.run(EventQueue.java:666)

at java.awt.EventQueue$3.run(EventQueue.java:664)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.awt.EventQueue$4.run(EventQueue.java:680)

at java.awt.EventQueue$4.run(EventQueue.java:678)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
jeffev

Qual é a linha 55 da sua classe CadastroCliente?

R
txtCodigo.setText("" + rst.getString("codigo"));

É essa, a primeira logo após o laço.

jeffev

rafael.mg06:
txtCodigo.setText("" + rst.getString("codigo"));

É essa, a primeira logo após o laço.

Esse objeto “txtCodigo” foi inicializado?

Criado 16 de fevereiro de 2013
Ultima resposta 16 de fev. de 2013
Respostas 5
Participantes 2