na verdade é o que estou fazendo, pois monto o model e retorno já com o list junto,
veja o metodo onde monto o model:
public static TableFilter modelCDG(JTable table) {
AnnotationResolver resolver = new AnnotationResolver(ContratoGraos.class);
cdgModel = new ObjectTableModel<ContratoGraos>(
resolver, "nomePes,nomeTDC,nomeSafra,dataCDG,vencimentoCDG,qtdeCDG,qtdeRestanteCDG");
filter = new TableFilter(table.getTableHeader(),
cdgModel);
return filter;
}
e para substituir os models uso este metodo que é acionado pelo combobox:
. public void setTipoPesquisa() {
codigoSelecionado = -1;
jcbTipoPesquisa.setSelectedItem(cadastroPesquisa);
if (cadastroPesquisa.equals(BD.EstruturaBanco.CIDADE)) {
table.setModel(telasPesquisa.TableModels.modelCidade(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.CONTATO)) {
table.setModel(telasPesquisa.TableModels.modelContato(table));
pane.setPreferredSize(new Dimension(700,300));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.DEPARTAMENTO)) {
table.setModel(telasPesquisa.TableModels.modelDepartamento(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.PESSOA)) {
table.setModel(telasPesquisa.TableModels.modelPessoa(table));
pane.setPreferredSize(new Dimension(600,300));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.MARCA)) {
table.setModel(telasPesquisa.TableModels.modelMarca(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.UDM)) {
table.setModel(telasPesquisa.TableModels.modelUDM(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.GDP)) {
table.setModel(telasPesquisa.TableModels.modelGDP(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.VARIEDADE)) {
table.setModel(telasPesquisa.TableModels.modelVariedade(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.PRODUTO)) {
table.setModel(telasPesquisa.TableModels.modelProduto(table));
pane.setPreferredSize(new Dimension(600,300));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.SAFRA)) {
table.setModel(telasPesquisa.TableModels.modelSafra(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.AREA)) {
table.setModel(telasPesquisa.TableModels.modelArea(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.TDC)) {
table.setModel(telasPesquisa.TableModels.modelTDC(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.PLANTIO)) {
table.setModel(telasPesquisa.TableModels.modelPlantio(table));
pane.setPreferredSize(new Dimension(600,300));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.PAIS)) {
table.setModel(telasPesquisa.TableModels.modelPais(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.CDG)) {
table.setModel(telasPesquisa.TableModels.modelCDG(table));
pane.setPreferredSize(new Dimension(700,300));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.FDC)) {
table.setModel(telasPesquisa.TableModels.modelFDC(table));
} else if (cadastroPesquisa.equals(BD.EstruturaBanco.EDG)) {
pane.setPreferredSize(new Dimension(700,300));
table.setModel(telasPesquisa.TableModels.modelEDG(table));
}
this.setTitle("Pesquisa de " + cadastroPesquisa);
jbTodos.setToolTipText("Pesquisar por todos os registros de " + cadastroPesquisa);
Resizer.fitAllColumns(table);
pack();
}