Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Controller; /** * * @author Nanda */ import Model.Chart; import java.util.ArrayList; import javax.swing.JFrame; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot3D; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.util.Rotation; public class PieChart extends JFrame { private static final long serialVersionUID = 1L; public PieChart(String applicationTitle, String chartTitle, ArrayList<Chart> listData) { super(applicationTitle); // This will create the dataset PieDataset dataset = createDataset(listData); // based on the dataset we create the chart JFreeChart chart = createChart(dataset, chartTitle); // we put the chart into a panel ChartPanel chartPanel = new ChartPanel(chart); // default size chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); // add it to our application setContentPane(chartPanel); } /** * Creates a sample dataset */ private PieDataset createDataset(ArrayList<Chart> listData) { DefaultPieDataset result = new DefaultPieDataset(); for (Chart chart : listData) { result.setValue(chart.getNama(), chart.getCount()); } return result; } /** * Creates a chart */ private JFreeChart createChart(PieDataset dataset, String title) { JFreeChart chart = ChartFactory.createPieChart3D(title, // chart title dataset, // data true, // include legend true, false); PiePlot3D plot = (PiePlot3D) chart.getPlot(); plot.setStartAngle(290); plot.setDirection(Rotation.CLOCKWISE); plot.setForegroundAlpha(0.5f); return chart; } }