Classe Customizadora para Grafico no IReport

1 resposta
A

Bom dia;
Através da classe abaixo

import java.awt.Color;
	import net.sf.jasperreports.engine.JRChart;
	import net.sf.jasperreports.engine.JRChartCustomizer;
	import org.jfree.chart.JFreeChart;
	import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
	import org.jfree.chart.plot.CategoryPlot;
	import org.jfree.chart.renderer.category.CategoryItemRenderer;
	 
	public class CustomizerLabelExpression implements JRChartCustomizer {
	 
	       public void customize(JFreeChart chart, JRChart jasperChart) {
	 
	               CategoryPlot plot = (CategoryPlot)chart.getPlot();
	 
	               CategoryItemRenderer line = plot.getRenderer();
	 
	               //aqui é definido o label
	               line.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
	               line.setBaseItemLabelsVisible(true);
	               line.setBaseItemLabelPaint(Color.BLACK);
	 
	       }
	}

Consegui inserir os valores do grafico dentro da barra.
Como faço para inserir acima, e não dentro.

1 Resposta

A

Consegui arrumar.
O código para quem precisar futuramente.

import java.awt.Color;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartCustomizer;

import org.apache.jasper.tagplugins.jstl.core.Out;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.ui.TextAnchor;

public class CustomizerLabelExpression implements JRChartCustomizer {

	public void customize(JFreeChart chart, JRChart jasperChart) {

	               CategoryPlot plot = (CategoryPlot)chart.getPlot();
	 
	               CategoryItemRenderer line = plot.getRenderer();
	 
	               //aqui é definido o label
	               line.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
	               line.setBaseItemLabelsVisible(true);
	               line.setBaseItemLabelPaint(Color.BLACK);
	              [b] ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BOTTOM_CENTER, TextAnchor.CENTER, 0.0);   [/b]
	               line.setBasePositiveItemLabelPosition(p);
	                 
	 
	       }
	}

Ao visualizar o grafico, o maior valor nao estava aparecendo por completo.
Tive que arrumar o padding clicando com botao direito no grafico do IReport.
Boa Sorte.

Criado 7 de dezembro de 2010
Ultima resposta 7 de dez. de 2010
Respostas 1
Participantes 1