Excluir todas as linhas do Jtable

Como faço para excluir todas as linhas de uma Jtable
porque estou exibindo os dados na Jtable como result da consulta
e na hora de uma nova consulta gostaria de apagar os dados
e atualizar com o result da nova consulta

fiz assim mas não funciono:

    public void limpaTabela(){
        DefaultTableModel tblRemove = (DefaultTableModel)jTblFindOF.getModel();
        
        if (tblRemove.getRowCount() > 0){
            for (int i=1;i<=tblRemove.getRowCount();i++){
                tblRemove.removeRow(i);
            }            
        }

    }

Eu tive um problema parecido e resolvi fazendo algo bem pareciso com você, mas ao invés de colocar esse comando:

tblRemove.removeRow(i);

eu coloque o seguinte:

tblRemove.removeRow(0);

No meu funcionou!!.

Espero ter ajudado

Abraços

valeu a dica mas eu tava errando era no For
o i tem que começar no zero, por isso toda hora sobrava
uma linha da limpeza

O que o colega acima postou funciona.

Seu código possuia 2 erros:

  1. nunca coloque uma função no corpo de um FOR. pq esse resultado pode mudar, a cada iteração no laço.
  2. Qdo vc remove a linha 0, a linha 1 passa a ser a linha 0, e a linha 2 passa a ser a linha 1. Iterando desse jeito, ou vai ficar linha faltando pra remover, ou vc vai tentar remover uma linha que nao existe mais, ganhando uma linda Exception.

Resultado: remova sempre a linha 0, N vezes. ( N = numero de linhas );

2 curtidas

Ou
pare de usar DefaultTableModel e crie seu própio com AbstractTableModel e crie uma função clear que apaga sua fonte de dados

dai nada desses fors^^

Ps:Já tive esse mesmo problema antes e achei mais façil fazer o model^^

[quote=Mark_Ameba]Ou
pare de usar DefaultTableModel e crie seu própio com AbstractTableModel e crie uma função clear que apaga sua fonte de dados

dai nada desses fors^^

Ps:Já tive esse mesmo problema antes e achei mais façil fazer o model^^[/quote]

exato

onde posso colocar o metodo remove, sem ser no FOR

qual é o caminho para se criar o meu próprio AbstractTableModel

Crie uma classe que extenda AbstractTableModel

e sobreescreva os metodos

getValueAt
getRowCount
getColumnCount

Dai você passa um Objeto dessa classe como model para seu JTable

se você quiser te passo meu model pra você

valeu cara vc’s aqui do forum tem me ajudado muito, valeu mesmo

pow Mark se não for incomodo!
se preferir meu email é bhsouza@gmail.com

abração

Ops Duplicado…

E ae Mark_Ameba, beleza?

Cara, fiz isso com meu TableModel, exatamente.

Mas estou tendo problema pra fazer o Casting quando pego o model da tabela.

ReflectionTableModel modelo = (ReflectionTableModel) tabelaSeriaisAlmox.getModel();
modelo.clear();

Tomo logo uma ClassCastException na Orelha!!

Sabe o por que??

Valeu…

while (TabelaTokens.getModel().getRowCount() > 0)
modelo.removeRow(0);

2 curtidas