JTable Duplicando Coluna!

Olá galera bom dia!
Estou com um problema no Jtable criado em tempo de execução
ele fica dentro de um JDialog que a cada vez que o mesmo é chamado
inicia o Jtable, mas se eu fecho o JDialog e abro novamente o JTable
duplica as mesmas colunas e assim sucessivamente!
ai esta o meu JTable:

[code]
public void tabela(){

      DefaultTableModel modelo = new DefaultTableModel();
        JTable grade;
              
              JScrollPane painel = new JScrollPane();
              grade = new JTable(modelo);
             
               modelo.addColumn(null);
              modelo.addColumn("NOME");
              modelo.addColumn("VALOR");
            
              grade.getColumnModel().getColumn(0).setMinWidth(0);
              grade.getColumnModel().getColumn(0).setMaxWidth(0);
              grade.getColumnModel().getColumn(1).setPreferredWidth(300);
              grade.getColumnModel().getColumn(2).setPreferredWidth(150);
              grade.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
              grade.getTableHeader().setReorderingAllowed(false); 
              painel = new JScrollPane(grade);
              painel.setBounds(6, 315, 500, 250);
              this.add(painel);
              
              grade.addMouseListener (new MouseAdapter () {
              public void mouseClicked (MouseEvent e) {
        
             recuperardados();
              nome=t_nome.getText();
   
    codigo= t_cod.getText();

   }
  });

          }  [/code]

uma ajuda por favor!!!

Leia os links sobre TableModel da minha assinatura. Não se assuste, pode parecer muito código, mas no fundo é MAIS FÄCIL do que continuar usando o DefaultTableModel. E vai resolver seu problema.

Valeu VIni eu leio sempre o q vc posta e gosto muito vou da uma lida novamente! esse conhece!!!