Erro na hora de colocar dados no Jtable

Ola e que to fazendo um programinha e na hora que aperto no botao pesquisa ele so da como o banco vazio nao sei por que o codigo e esse ai ele nao sai desse primeiro if nao sei por que se alguem podesse ajudar agradeço obrigado.

private void mostraPesquisa(List<Cadastro> cadastro) { if(cadastro.size() == 0){ JOptionPane.showMessageDialog(null, "Vazio"); }else{ String[] linha = new String[]{null,null,null}; for(int i = 0;i < cadastro.size();i++){ tmCadastro.addRow(linha); tmCadastro.setValueAt(cadastro.get(i).getId(), i, 0); tmCadastro.setValueAt(cadastro.get(i).getNome(), i, 1); tmCadastro.setValueAt(cadastro.get(i).getAutor(), i, 2); } }

wire tenta fazer assim

if(cadastro.isempty){ }

deu vazio ainda nao sei por que não sai desse if

if(cadastro.isempty){
}

NÃO use DefaultTableModel.

Ele só vai te causar mais problemas do que soluções.

Com um TableModel proprio voce faria algo assim:

private void mostraPesquisa(List<Cadastro> cadastro) {
       CadastroTableModel model = (CadastroTableModel) tmCadastro.getModel();
       for(Cadastro c : cadastro)
         model.add(c);
    }

Ou mais facil ainda:

private void mostraPesquisa(List<Cadastro> cadastro) {
       CadastroTableModel model = (CadastroTableModel) tmCadastro.getModel();
       model.addAll(cadastro);
    }

Simples não?

Siga os links da minha assinatura para aprender como fazer isso.

E esses também:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472