Matriz usando Vectors + JTable

Salve galera,
To com um problema com a matriz de Vector’s da JTable, segue os trexos de código pra ajudar vocês entenderem melhor:

tenho uma JTable que recebe um DefaultTableModel

//método que "setta" o modelo da tabela public DefaultTableModel setaModelo(){ System.out.println("setaModelo"); DefaultTableModel modelo = new DefaultTableModel(addLinhas(), addColunas()); return modelo; }

método addColunas(), onde são mostrados os nomes das 4 colunas que serão utilizadas na tabela…

public Vector addColunas(){
        final Vector colunas = new Vector();
            colunas.addElement("Produto");
            colunas.addElement("Quantidade");
            colunas.addElement("Valor - R$");
            colunas.addElement("Total - R$");
            
            return colunas;
}

método addLinhas(), a matriz de Vectors com 4 elementos cada que serão dispostos na tabela, consequentemente, cada linha da matriz representa uma linha na tabela…

[code]
public Vector addLinhas(){
Vector linha = new Vector();
Vector addlinha = new Vector();
/*a váriavel contador é incrementada de acordo com o disparo do evento do botão Adicionar e representa a quantidade de linhas da tabela */
for(int x = 0; x<=contador;x++){
addlinha.addElement(vnd.getPrd());
addlinha.addElement(vnd.getQtd());
addlinha.addElement(vnd.getPreco());
addlinha.addElement(vnd.getTotal());
linha.addElement(addlinha);
}

   return linha;

}[/code]

Também tenho um botão adicionar e quatro campos, os campos são:
cbxClientes - uma ComboBox que puxa os nomes dos Clientes do BD
cbxProdutos - ComboBox que puxa os nomes dos produtos do BD
txtQtd - um JTextField onde o usuário insere a quantidade de produtos do pedido

Os campos da tabela:
Produto - a String selecionada em cbxProdutos.
Quantidade - valor do txtQtd.
Valor - valor unitário do produto importado diretamente do BD
Total - multiplicação de quantidade x preço unitário

Há também o botão adicionar. O evento do botão adicionar adiciona os valores da cbxClientes, da cbxProdutos e do txtQtd num objeto da classe Vendas através dos setters e getters, até ai nenhum problema…
Até que eu tento adicionar uma segunda linha na tabela, de alguma forma todas as linhas anteriores assumem os mesmos valores da útlima linha ao invés de cada linha ter seus valores distintos. Por exemplo, se na primeira linha eu adicionar o produto ‘X’, quando eu disparar o evento do botão adicionar para adicionar uma segunda linha com o produto ‘Y’, as duas linhas passam a mostrar o produto ‘Y’, assim como a quantidade, e o preço. Já o valor total faz as somas certinho, mas também exibe em todas linhas o valor da última linha.

Acho que meu erro está no loop de preenchimento da matriz no método addLinhas(), mas não consigo enxergar onde, alguem pode me dar uma luz??