[Resolvido]Mostrar resultado num JTable

8 respostas
M

Pessoal,

A minha duvida é mostrar o resultado num JTable, porem queria saber se o metodo de pesquisa esta correto rimeiro:

public List<beanAgenda> pesquisas(String nome) throws SQLException {
      pesquisa.setString(1, "%"+nome+"%"); 
      ResultSet rs = pesquisa.executeQuery(); // este pesquisa é pesquisa = conn.prepareStatement("select * from contato where Empresa like ?");

      List<beanAgenda> agendaTodos = new LinkedList<beanAgenda>();//o beanAgenda possui todos os get's e set's..somente!
      beanAgenda agenda;
           while (rs.next()) {
               agenda = new beanAgenda();
               agenda.setNome(rs.getString("Nome"));
               agenda.setEmpresa(rs.getString("Empresa"));
               agenda.setFone1(rs.getString("Fone1"));
               agenda.setFone2(rs.getString("Fone2"));
               agenda.setCel(rs.getString("Cel"));
               agendaTodos.add(agenda);
           }
            return agendaTodos;
        }
O NetBeans não mostra erro...
Caso esteja correto...dai tenho JFrame com um button um textField e um JTable..dai no button esta assim:
    private void btFind2ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        List<beanAgenda> agenda;
        try {
            agenda = dao.pesquisa((tfPesquisa.getText()));
            if(agenda == null){
        JOptionPane.showMessageDialog(this, "Problema na pesquisa!!","Pesquisa falhou",JOptionPane.ERROR_MESSAGE);
        }else{
             DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
                modelo.addRow(new String [] {
                    agenda.getNome(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)
                    agenda.getEmpresa(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)
                    agenda.getFone1(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)
                    agenda.getFone2(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)
                    agenda.getCel()//aqui mostra que não pode encontrar o simbolo(cannot find symbol)
                });
       }

   } catch (SQLException ex) {
            System.out.println("Erro >>"+ ex.getMessage() );
        }

Alguem poderia me dar um help…

8 Respostas

Nicolas_Fernandes

E aí, Mario!
Tudo bem?

3 coisas:

  1. Ao postar um código, coloque-o entre as tags code.
  2. Não use DefaultTableModel, isso pode gerar implicações mais para frente.
  3. Implemente um modelo próprio com uma classe herdando de AbstractTableModel. Para mais informações, siga o link do ViniGodoy na minha assinatura!

Já começaremos bem assim!
Abraços :smiley:

M

Opa Nicolas,

estou iniciando e estou tentando enteder funcionalidade…estrutura e tals…o sistema não passará de 10 registros hehehe…se puder me dar uma ajuda nesse ai agradeceria…

ViniGodoy

Você está tentando entender a funcionalidade, ou está tentando só exibir uma tabela na tela, mesmo que seja feita de um jeito completamente errado?

Se tiver realmente tentando entender a estrutura e funcionamento, como vc falou, aí sim, você precisa estudar como funciona o TableModel.
Se quer só exibir uma tabela de qualquer jeito na tela, não importando se isso é uma gambi porca e pouco profissional, aí vc continua com o Default.

leonardodar

Troque esse trecho de código:

private void btFind2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
   
         List<beanAgenda> agenda;  
         try {  
             agenda = dao.pesquisa((tfPesquisa.getText()));  
             if(agenda == null){  
         JOptionPane.showMessageDialog(this, "Problema na pesquisa!!","Pesquisa falhou",JOptionPane.ERROR_MESSAGE);  
         }else{  
              DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();  
                 modelo.addRow(new String [] {  
                     agenda.getNome(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda.getEmpresa(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda.getFone1(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda.getFone2(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda.getCel()//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                 });  
        }  
   
    } catch (SQLException ex) {  
             System.out.println("Erro >>"+ ex.getMessage() );  
    }

por este …

private void btFind2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
   
         List<beanAgenda> agenda;  
         try {  
             agenda = dao.pesquisa((tfPesquisa.getText()));  
             if(agenda == null){  
         JOptionPane.showMessageDialog(this, "Problema na pesquisa!!","Pesquisa falhou",JOptionPane.ERROR_MESSAGE);  
         }else{  
              DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();  
              for (int i = 0; i < agenda.size(); i++) {
                   modelo.addRow(new String [] {  
                     agenda.get(i).getNome(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda..get(i).getEmpresa(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda..get(i).getFone1(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda..get(i).getFone2(),//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                     agenda..get(i).getCel()//aqui mostra que não pode encontrar o simbolo(cannot find symbol)  
                 });
                }
        }  
   
    } catch (SQLException ex) {  
             System.out.println("Erro >>"+ ex.getMessage() );  
    }

Entendeu, vc precisa iterar sobre os dados da sua lista.

Nicolas_Fernandes

marioirodrigues:
Opa Nicolas,

estou iniciando e estou tentando enteder funcionalidade…estrutura e tals…o sistema não passará de 10 registros hehehe…se puder me dar uma ajuda nesse ai agradeceria…

Se está inciando, é melhor aprender da maneira correta, não acha?
Aprenda da maneira certa que não terá dificuldades quando a coisa ficar preta :smiley:

Mas enfim…
A sua variável agenda é uma Coleção de beanAgenda.
Portanto, ela não possui os Getters e Setters do objeto.
Você tem que acessar um objeto específico para que você faça uso de Getters e Setters:

agenda.getNome();  // Não funcionará, pois agenda é uma coleção, e não a entidade em si.
agenda.get(0).getNome(); // Assim funciona, pois você tá acessando um objeto Bean, e não a coleção em si.
M

Bom…
Primeiro agradeco a todos pela ajuda!! utilizei a ideia do leonardodar funfou blz…
Agora sobre o que o Vini falou…
Dr eu tenho uma classe veja…criada pelo Dyego da DevMedia…onde irei criar por la…mas inicialmente eu so queria que aparececem os dados mesmo que " gambi porca e pouco profissional,"…como falei estou estudando.so queria saber se eu estava indo no caminho correto…Nicolas…vlw mesmo pela ajuda!!!
Obrigado a todos!!!
Depois volto a perturbar vc’s hehehe

ViniGodoy

marioirodrigues:
Dr eu tenho uma classe veja…criada pelo Dyego da DevMedia…onde irei criar por la…mas inicialmente eu so queria que aparececem os dados mesmo que " gambi porca e pouco profissional,"…como falei estou estudando.so queria saber se eu estava indo no caminho correto…Nicolas…vlw mesmo pela ajuda!!!

Beleza. Se o jeito “gambi porca e pouco profissional” atende, aí tudo bem. Mas só falei para deixar BEM CLARO que isso é mesmo uma gambi, e não algo que vc deveria estar fazendo num sistema (um problema, aliás, muito comum aqui no GUJ, por isso essa campanha toda para não se utilizar o DefaultTableModel).

PS: Ainda não sou dr.

M

Vini,

Mas pode ficar tranquilo irei com certeza aderir a campanha NÃO USE O DefaulTableModel…Motivo: nao quero q minha mulher me deixe muito menos o leite azedar hehehe…hj mesmo irei dar uma olhada no ObjectTableModel citado em varios posts…poow leita ta caro kkkkkkkk
vlw a todos
poww e sobre o dr…não é nada de mais não…é só uma forma falar…exemplo: e ai dr qual a boa de hj? hehehe…

ViniGodoy:
marioirodrigues:
Dr eu tenho uma classe veja…criada pelo Dyego da DevMedia…onde irei criar por la…mas inicialmente eu so queria que aparececem os dados mesmo que " gambi porca e pouco profissional,"…como falei estou estudando.so queria saber se eu estava indo no caminho correto…Nicolas…vlw mesmo pela ajuda!!!

Beleza. Se o jeito “gambi porca e pouco profissional” atende, aí tudo bem. Mas só falei para deixar BEM CLARO que isso é mesmo uma gambi, e não algo que vc deveria estar fazendo num sistema (um problema, aliás, muito comum aqui no GUJ, por isso essa campanha toda para não se utilizar o DefaultTableModel).

PS: Ainda não sou dr.

Criado 15 de setembro de 2010
Ultima resposta 15 de set. de 2010
Respostas 8
Participantes 4