[RESOLVIDO] Jtable

5 respostas
X

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

5 Respostas

X

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);
        }      
    }
X

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]

rodriguesabner

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);
staroski

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

X

funcionou certinho vlw!

Criado 24 de novembro de 2018
Ultima resposta 26 de nov. de 2018
Respostas 5
Participantes 3