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}