001package com.ganteater.ae.desktop.view;
002
003import java.awt.BorderLayout;
004import java.util.Properties;
005
006import org.jfree.chart.ChartFactory;
007import org.jfree.chart.ChartPanel;
008import org.jfree.chart.JFreeChart;
009import org.jfree.data.general.DefaultPieDataset;
010
011import com.ganteater.ae.AEManager;
012
013public class PieChart extends PresentationPanel {
014        private static final long serialVersionUID = 1L;
015
016        private DefaultPieDataset dataset;
017        private JFreeChart chart = null;
018
019        public PieChart(Properties params, AEManager manager) {
020                super(params);
021                String title = params.getProperty("title");
022
023                dataset = new DefaultPieDataset();
024                chart = ChartFactory.createPieChart(title, dataset, true, true, true);
025
026                add(new ChartPanel(chart, false), BorderLayout.CENTER);
027        }
028
029        @Override
030        public synchronized void out(Object data, Properties properties) {
031                if (data instanceof String) {
032                        double value = Double.parseDouble((String) data);
033                        Comparable<?> key = properties.getProperty("key");
034                        dataset.setValue(key, value);
035                }
036        }
037}