fiz o JFreeChart gerar uma imagem (o gráfico) e coloquei a imagem no pdf.
ficou assim:
[code]JRDesignParameter parameter = new JRDesignParameter();
parameter.setName(“imagenzinha”);
parameter.setValueClass(java.awt.Image.class);
jasperDesign.addParameter(parameter);
JFreeChart jfc = criaGrafico();
Image graf = jfc.createBufferedImage(300, 400);
parameters.put(“imagenzinha”, graf);
JRDesignImage image = new JRDesignImage(jasperDesign);
image.setX(0);
image.setY(100);
image.setHeight(89);
image.setWidth(216);
expression = new JRDesignExpression();
expression.setValueClass(Image.class);
expression.setText("$P{imagenzinha}");
image.setExpression(expression);
band.addElement(image);
public static JFreeChart criaGrafico(){
// objeto gráfico
JFreeChart chart = null;
// valores do gráfico
double[][] Values = new double[][] {{1,2},{2,1}};
// Criar dataset com os itens a serem mostrados
DefaultIntervalCategoryDataset dataset = new DefaultIntervalCategoryDataset(Values, Values);
// categorias do gráfico
String[] Category = new String[] {"Cat1","Cat2"};
// poe o label das categorias
dataset.setCategoryKeys(Category);
// Series do gráfico
String[] Series = new String[] {"Ser1","Ser2"};
// põe o nome das series
dataset.setSeriesKeys(Series);
// Nome eixo X
String CategoryName = "Eixo X";
// Cria o item de categorias
CategoryAxis categoryAxis = new CategoryAxis(CategoryName);
// cria o item de valores do gráfico - nome do Eixo Y
ValueAxis valueAxis = new NumberAxis("Eixo Y");
// inverte o gráfico
((NumberAxis) valueAxis).setInverted(false); // false
// para criar os dados para o gráfico
CategoryPlot plot = null;
// criar barras ou linhas
AbstractCategoryItemRenderer renderer = null;
// de acordo com o tipo do gráfico
// criar barras 3d
renderer = new BarRenderer3D(5,5);
// aumenta(valor negativo)/diminue(valor positivo) da largura da margem da barra
((BarRenderer3D) renderer).setItemMargin(0.0);
// cor nas laterais do chart quando no efeito 3d
((BarRenderer3D) renderer).setWallPaint(Color.BLACK);
// Posicão do label na barra positivo (sobe) e negativo (desce)
((BarRenderer3D) renderer).setItemLabelAnchorOffset(5);
// margem a esquerda da primeira barra
categoryAxis.setLowerMargin(0.05); // 0.05
// margem a direita da ultima barra
categoryAxis.setUpperMargin(0.05); // 0.05
// cria as categorias
plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer);
// indica se é horizontal ou vertical
plot.setOrientation(PlotOrientation.VERTICAL);
// mostrar linhas de grades verticais
plot.setDomainGridlinesVisible(true); // false
// a cor das linhas de grades verticais
plot.setDomainGridlinePaint(Color.GRAY);
// mostrar linhas de grades horizontais
plot.setRangeGridlinesVisible(true);
// a cor das linhas de grades horizontais
plot.setRangeGridlinePaint(Color.GRAY);
// a cor do fundo do grafico
plot.setBackgroundAlpha(0); //teste para deixar transparente
// plot.setBackgroundPaint(Color.);
// zoom no gráfico
// plot.zoom(10.0);
// cria o chart
chart = new JFreeChart("TesteGrafico", plot);
// sem bordas no chart
chart.setBorderVisible(false);
// pega a legenda
LegendTitle Legenda = ((LegendTitle) chart.getLegend());
// posicao
Legenda.setPosition(RectangleEdge.TOP);
// cor de fundo
Legenda.setBackgroundPaint(new Color(0,0,0,0.0f));
// seta o alinhamento
Legenda.setVerticalAlignment(VerticalAlignment.CENTER);
// para remover legenda
// chart.removeLegend();
// OS ITENS COMENTADOS NA FRENTE SÃO OS VALORES PADRÃO
// largura das barras
categoryAxis.setCategoryMargin(0.2); // 0.2
// se mostra os valores da categoria
categoryAxis.setTickLabelsVisible(true); // true
// seta o fundo como transparente
chart.setBackgroundPaint(new Color(0,0,0,0.0f));
// tira o anti aliasing da pagina
chart.setAntiAlias(false);
return chart;
}[/code]
valeu pelas dicas jônatas…ajudou pra caramba mano
abraços