Alguém já fez algo com JasperReports + JFreeChart ???
Estou apanhando feio dos dois.
Segue meu JRXML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="relatorio_jm"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="2" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="graf1" isForPrompting="false" class="java.awt.Image"/>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="0" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="0" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="0" isSplitAllowed="true" >
</band>
</columnHeader>
<detail>
<band height="337" isSplitAllowed="true" >
<image scaleImage="FillFrame" vAlign="Top" hAlign="Left" isUsingCache="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
mode="Opaque"
x="52"
y="51"
width="421"
height="281"
forecolor="#000000"
backcolor="#FFFFFF"
key="image-1"
stretchType="NoStretch"
positionType="FixRelativeToTop"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#FFFFFF" bottomBorder="None" bottomBorderColor="#000000"/>
<graphicElement stretchType="NoStretch" pen="None" fill="Solid" />
<imageExpression class="java.awt.Image">[CDATA[$P{graf1}]]</imageExpression> </image>
<staticText>
<reportElement
mode="Opaque"
x="4"
y="5"
width="526"
height="32"
forecolor="#000000"
backcolor="#FFFFFF"
key="staticText-1"
stretchType="NoStretch"
positionType="FixRelativeToTop"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#FFFFFF" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" lineSpacing="Single">
<font fontName="Arial" pdfFontName="Helvetica" size="18" isBold="true" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="Cp1252" isStrikeThrough="false" />
</textElement>
<text>[CDATA[Relatorio de Teste]]</text>
</staticText>
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="0" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="0" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
Meu Java:
package teste;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.sql.*;
import java.util.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.JasperDesign;
import org.jfree.chart.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.*;
public class RelatorioComGrafico {
public static void main(String[] args) {
Connection conn = null;
InputStream is = null;
try {
Map parameters = new HashMap();
parameters.put("graf1", criarGrafico());
conn = conectar();
is = RelatorioComGrafico.class.getClass().getResourceAsStream("/relatorio.jrxml");
JasperDesign jasperDesign = JasperManager.loadXmlDesign(is);
JasperReport jasperReport = JasperManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperManager.fillReport(jasperReport, parameters, conn);
JasperManager.printReportToPdfFile(jasperPrint, "c:\\relatorio.pdf");
} catch(Exception e) {
e.printStackTrace();
} finally {
try { is.close(); } catch( Exception e ) {}
try { conn.close(); } catch( Exception e ) {}
}
}
private static BufferedImage criarGrafico() {
//gera o BufferedImage do grafico corretamente
// e o retorna
}
}
set CP=.;../lib/commons-beanutils.jar;../lib/commons-collections.jar;../lib/commons-digester.jar;../lib/commons-logging.jar;../lib/commons-logging-api.jar;../lib/itext-1.02b.jar;../lib/jasperreports-0.6.4.jar;../lib/jcommon-1.0.0-pre2.jar;../lib/jfreechart-1.0.0-pre2.jar;../lib/mysql.jar
java -cp %CP% teste.RelatorioComGrafico
Ele me gera apenas um PDF vazio...
Alguém tem idéia do que fiz de errado?
