[RESOLVIDO] Jtable

Boa tarde galera, estou fazendo um sistema de agenda,
na minha logica ele carrega os contatos em uma jtable, ai eu seleciono quem eu quero excluir ou editar na jtable e chamo o metodo

private void bExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        int linha = tableContatos.getSelectedRow();
        if (linha >= 0) {
            try {
                Integer id = (Integer) tableContatos.getValueAt(linha, 0);
                contatoDao.excluir(id);
                if (contatoDao.excluir(id)) {
                    JOptionPane.showMessageDialog(this, "Contato excluído com sucesso!");
                } else {
                    JOptionPane.showMessageDialog(this, "Não foi possível excluir o contato!");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }             

 private void bEditarActionPerformed(java.awt.event.ActionEvent evt) {                                        
        int linha = tableContatos.getSelectedRow();
        if (linha >= 0) {
            Integer id = (Integer) tableContatos.getValueAt(linha, 0);
            try {
                contato = (Contato) contatoDao.pesquisar(id);
                Teste.adicionarNovoContato(contato);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }      

porem em ambos os metodos da erro na linha

Integer id = (Integer) tableContatos.getValueAt(linha, 0);

java.lang.String cannot be cast to java.lang.Integer

o que eu n entendo é pq q neste codigo aqui compila e nestes acima n

private void bMenosActionPerformed(java.awt.event.ActionEvent evt) {                                       
        int linha = tableTelefones.getSelectedRow();
        if (linha >= 0) {
            try {
                Integer id = (Integer) tableTelefones.getValueAt(linha, 0);
                telefoneDao.excluir(id);
            } catch (Exception e) {
                e.printStackTrace();
            }
            telefones.remove(linha);
            adicionarNumeroTelefonesTabela(telefones);
        }      
    }

outro problema aqui hehe
agora no botao de buscar

 private void bBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                        
        boolean verifica = false;
        if (!verifica) {
            for (Contato c : contatos) {
                System.out.println(c.getNome());
                System.out.println(textBusca.toString());
                if (c.getNome().equals(textBusca.toString())) {
                    JOptionPane.showMessageDialog(null, "Nome " + c.getNome() + ""
                            + "\nAniversario " + c.getDataNascimento() + "\nEmail " + c.getEmail());
                    verifica = true;
                }
            }
        } else {
            JOptionPane.showMessageDialog(null, "Nome não encontrado");
        }
    }                 

mesmo eu digitando um nome que exista, ele da como nao encontrado;
acho q é pq o textBusca.toString() ta retornando isso ai
javax.swing.JTextField[,42,6,70x20,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@78548b2,flags=296,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=70,height=20],caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

Nesse último: textBusca.getText().toString();, sempre que quiser pegar algo de algum texto, precisa colocar o getText.

java.lang.String cannot be cast to java.lang.Integer (String não pode ser convertido em Inteiro).

Exemplo funcionando:

String someValue = "123";
int intValue = Integer.parseInt(someValue);
1 curtida

Dá uma lida na documentação do método toString() e no método getText()

1 curtida

funcionou certinho vlw!