primeiro no model voce vai colocar como ultimo elemento o objeto na linha.
para nao mostra-lo basta limitar o numero de coluna no proprio model.
public class ModelAtosRegistradosReport extends AbstractTableModel {
private List{Cliente} list;
private String[] nomeColuna = new String[]{"ID", "Nome"};
public ModelAtosRegistradosReport(List{Cliente} list) {
this.list = list;
}
public int getRowCount() {
return(listAtosRegistrados == null ? 0 : list.size());
}
public int getColumnCount() {
return nomeColuna.length;
}
@Override
public String getColumnName(int column) {
return nomeColuna[column];
}
public Object getValueAt(int rowIndex, int columnIndex) {
final Cliente item = list.get(rowIndex);
switch (columnIndex) {
case 0:
return item.getID();
case 1:
return item.getNome();
default:
return item;
}
}
}
depois eh so pegar o objeto do model e montar seu JRDataSource assim:
for (int i = 0; i < table.getRowCount(); i++) {
Cliente item = (Cliente) table.getModel().getValueAt(table.convertRowIndexToModel(i), table.getModel().getColumnCount());
Da tambem pra vc aproveitar ecolocar um checkbox na jtable para mandar para o relatorio somente os selecionados tambem funga.