Problema ao exibir consulta em um jtable

galera alguem pode me ajudar, estou buscando os cadastros do banco de dados e armazenando em um Vector, ai ai tudo bem, porem quando exibi-los em um jtable ele exibe apenas o ultimo cadastro a quantidade de vezes de cadastros cadastrados, ou seja, se tem 2 cadstros exibe o ultimo cadastro 2x

[code]public menuConsulta(final Vector resultados) {

    initComponents(resultados);
    
    botaoConsulta.addActionListener(new java.awt.event.ActionListener() {
       public void actionPerformed(java.awt.event.ActionEvent e) {
            javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)table.getModel();
            for(int i=0;i<resultados.size();i++){
                 System.out.print("\n"+"Dados do cliente cadastrado");
                 cliente cli = (cliente)resultados.get(i);
                 dtm.addRow(new Object[]{"",cli.getNome(),cli.getDataNascimento(), cli.getCPF(), cli.getRg(),cli.getEmail(),cli.getEndRua(),cli.getEndNro(),cli.getEndComp(),cli.getEndBairro(),cli.getEndCep(),cli.getCidade()});
            }       
       }
    });[/code]
  1. Não use Vector, use ArrayList: http://www.guj.com.br/posts/list/74068.java#389435
  2. Procure especificar o tipo da sua coleção ao declara-la. Ou seja, ao invés de:
public menuConsulta(final Vector resultados)

Faça:

  1. Não use DefaultTableModel: É mais difícil, mais inseguro, consome mais memória e é mais lento, siga o link da minha assinatura para aprender a usar o JTable;

você também tem a opção de utilizar alguma TableModel pronta, por exemplo a ObjectTableModel do Mark_Ameba…
se não me engano o ViniGodoy também fez uma que implementa auto-filtro…

mas o interessante seria você criar a sua pra saber como funciona e esquecer definitivamente da DefaultTableModel

blz…estou utilizando agora o arrayList e o jtable do seu tutorial, porem continuo com o mesmo problema, é exibido apenas o ultimo cadastro

acho que é nessa parte que estou errando

na classe menuConsulta

modelo = new ClienteTableModel(); // este parte de baixo da erro no netbeans por isso nao estou utilizando //modelo.addTableModelListener(this); modelo.adicionaLista(resultados);

e na classe ClienteTableModel

public void adicionaLista(List<cliente> resultados) { clientes.addAll(resultados); fireTableRowsInserted(i, i + resultados.size()); }

esse List resultados esta com os dados dos clientes, falta apenas exibir todos os cadastros
agradeco a ajuda de vcs
abraço