Esse codigo abaixo foi feito no JFreeReport. Ele cria um objeto JFreeReport (report), seta esse objeto com o modelo de uma determinada JTable e depois mostra em uma PreviewDialog. Gostaria de fazer isso no JasperReport, mas estou meio perdido. Alguem teria algum exemplo que possa ajudar ou mesmo uma dica ??
valeu !!
protected void iniciarImpressao()
{
final JFreeReport report = createReportDefinition();
report.setData(jTable1.getModel());
try
{
final PreviewDialog preview = new PreviewDialog(report);
preview.pack();
preview.setVisible(true);
}
catch (ReportProcessingException e)
{
Log.error("Failed to generate report ", e);
}
}
private JFreeReport createReportDefinition()
{
final JFreeReport report = new JFreeReport();
report.setName(this.getTitle());
ObjectItemLista item;
int pos = 0;
TableColumn column = null;
for (int i = 0; i <jTable1.getColumnCount(); i++)
{
column = jTable1.getColumnModel().getColumn(i);
TextFieldElementFactory factory = new TextFieldElementFactory();
factory.setName("T"+i);
factory.setAbsolutePosition(new Point2D.Float(pos, 0));
factory.setMinimumSize(new
FloatDimension(column.getPreferredWidth(), 20));
factory.setColor(Color.black);
factory.setHorizontalAlignment(ElementAlignment.LEFT);
factory.setVerticalAlignment(ElementAlignment.MIDDLE);
factory.setNullString("-");
factory.setFieldname((String)column.getIdentifier());
report.getItemBand().addElement(factory.createElement());
pos = pos +
tbResultPesquisa.getColumnModel().getColumn(i).getPreferredWidth();
}
return report;
}
