Dinamismo em JTable

Salve galera, meu problema é definir a condição (X da questao) para que eu possa tornar uma tabela dinâmica.

O Modelo da tabela é o seguinte:

[code]public Vector addLinhas(){
Vector linha = new Vector();
Vector addlinha = new Vector();
do{
if(GravaDados()){//validação dos dados da tela
addlinha.addElement(prd);//nome do produto
addlinha.addElement(qtd);//quantidade --dada pelo valor inteiro correspondente de um JTextField
addlinha.addElement(s);//valor unitário do produto
addlinha.addElement(t);//multiplicação de qtd e s (valor da compra)

               linha.addElement(addlinha);

          }
       }while(//condição);//X DA QUESTAO
   return linha;

}

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

public DefaultTableModel setaModelo(){
    DefaultTableModel modelo = new DefaultTableModel(addLinhas(), addColunas());
    
    return modelo;        
}[/code]

Eu passo o modelo através de um evento do btAdicionar:

[code]
private void btAdicionarActionPerformed(java.awt.event.ActionEvent evt) {

    try{
        if(ValidaDados()){
            if(GravaDados()){
                
                tblVendas.setModel(setaModelo());
                cont = tblVendas.getModel().getRowCount();
                tblVendas.getColumnModel().getColumn(1).setMinWidth(80);
                tblVendas.getColumnModel().getColumn(1).setMaxWidth(80);
                tblVendas.getColumnModel().getColumn(2).setMinWidth(80);
                tblVendas.getColumnModel().getColumn(2).setMaxWidth(80);
                tblVendas.getColumnModel().getColumn(3).setMinWidth(80);
                tblVendas.getColumnModel().getColumn(3).setMaxWidth(80);
                contador ++;
                if(contador>0){
                    cbxCliente.setEnabled(false);
                    
                }
            }  
        }
    }catch(Exception ex){
        JOptionPane.showMessageDialog(null, "Ocorreu uma falha durante a exibição dos dados.", "Atenção", JOptionPane.ERROR_MESSAGE);
    }    
    
}[/code]

Não atentem ao fato de a estrutura do código ser um tanto quanto feia(sou iniciante ;])

Não consigo definir a condição do “do while” para que eu consiga rodar o programa sem problemas… como posso fazê-la??

vlwz ae

Cara, a condição é o que vc quer!!!
E pq vc não estendeu o AbstractTableModel.Olhe um exemplo(tem o código anexo no final, vai lhe ajudar):