Java tutorial
package org.codehaus.mojo.dashboard.report.plugin.chart; /* * Copyright 2006 David Vicente * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.awt.Font; import java.awt.Paint; import org.jfree.chart.ChartFactory; import org.jfree.chart.plot.PiePlot; import org.jfree.data.general.PieDataset; import org.jfree.util.Rotation; /** * * @author <a href="dvicente72@gmail.com">David Vicente</a> * */ public class PieChartRenderer extends AbstractChartRenderer { /** * */ private static final int FONT_SIZE = 10; /** * */ private static final double INTERIOR_GAP = 0.33D; /** * */ private static final double LABEL_GAP = 0.02D; /** * */ private static final double START_ANGLE = 45D; /** * * @param dashboardReport * @param strategy */ public PieChartRenderer(IChartStrategy strategy) { super(strategy); } /** * * @param dashboardReport * @param strategy * @param width * @param height */ public PieChartRenderer(IChartStrategy strategy, int width, int height) { super(strategy, width, height); } /* (non-Javadoc) * @see org.codehaus.mojo.dashboard.report.plugin.chart.AbstractChartRenderer#createChart() */ public void createChart() { PieDataset dataset = (PieDataset) this.datasetStrategy.getDataset(); report = ChartFactory.createPieChart(this.datasetStrategy.getTitle(), dataset, true, true, false); PiePlot plot = (PiePlot) report.getPlot(); // plot.setCircular( false ); plot.setDirection(Rotation.ANTICLOCKWISE); /* * plot.setExplodePercent(0, 0.15D); plot.setExplodePercent(1, 0.15D); */ // plot.setInteriorGap( PieChartRenderer.INTERIOR_GAP ); plot.setLabelFont(new Font("Lucida", 0, PieChartRenderer.FONT_SIZE)); plot.setLabelGap(PieChartRenderer.LABEL_GAP); plot.setNoDataMessage("No data available"); plot.setStartAngle(PieChartRenderer.START_ANGLE); Paint[] paints = this.datasetStrategy.getPaintColor(); for (int i = 0; i < dataset.getItemCount() && i < paints.length; i++) { plot.setSectionPaint(dataset.getKey(i), paints[i]); } } }