Example usage for org.jfree.chart.renderer.category LayeredBarRenderer setGradientPaintTransformer

List of usage examples for org.jfree.chart.renderer.category LayeredBarRenderer setGradientPaintTransformer

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category LayeredBarRenderer setGradientPaintTransformer.

Prototype

public void setGradientPaintTransformer(GradientPaintTransformer transformer) 

Source Link

Document

Sets the gradient paint transformer and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.LayeredBarRendererCustomizer.java

@Override
public void customize(JFreeChart chart, ReportParameters reportParameters) {
    BarRenderer categoryRenderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
    LayeredBarRenderer renderer = new LayeredBarRenderer();

    renderer.setBaseItemLabelsVisible(categoryRenderer.getBaseItemLabelsVisible());
    renderer.setBaseItemLabelFont(categoryRenderer.getBaseItemLabelFont());
    renderer.setBaseItemLabelPaint(categoryRenderer.getBaseItemLabelPaint());
    renderer.setBaseItemLabelGenerator(categoryRenderer.getBaseItemLabelGenerator());
    renderer.setShadowVisible(categoryRenderer.getShadowsVisible());
    CategoryDataset categoryDataset = chart.getCategoryPlot().getDataset();
    if (categoryDataset != null) {
        for (int i = 0; i < categoryDataset.getRowCount(); i++) {
            Paint seriesOutlinePaint = categoryRenderer.getSeriesOutlinePaint(i);
            if (seriesOutlinePaint != null) {
                renderer.setSeriesOutlinePaint(i, seriesOutlinePaint);
            }//from  ww  w .  j a v  a  2 s .c  o  m
            Paint seriesPaint = categoryRenderer.getSeriesPaint(i);
            if (seriesPaint != null) {
                renderer.setSeriesPaint(i, seriesPaint);
            }
        }
    }
    renderer.setItemMargin(categoryRenderer.getItemMargin());
    GradientPaintTransformer gradientPaintTransformer = categoryRenderer.getGradientPaintTransformer();
    if (gradientPaintTransformer != null) {
        renderer.setGradientPaintTransformer(gradientPaintTransformer);
    }

    if (seriesBarWidths != null) {
        for (int i = 0; i < seriesBarWidths.size(); i++) {
            renderer.setSeriesBarWidth(i, seriesBarWidths.get(i));
        }
    }

    chart.getCategoryPlot().setRenderer(renderer);
}