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 is2pr3; import java.awt.Container; import java.awt.Dimension; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.xml.CategoryDatasetHandler; import org.jfree.ui.ApplicationFrame; /** * * @author javier */ public class HistogramDisplay extends ApplicationFrame { private final Histogram<String> histogram; public HistogramDisplay(Histogram<String> histogram) { super("Histogram"); this.histogram = histogram; setContentPane(createPanel()); pack(); } public HistogramDisplay() { super("Histogram"); histogram = null; setContentPane(createPanel()); pack(); } private JPanel createPanel() { ChartPanel chartPanel = new ChartPanel(createChart(createDataset())); chartPanel.setPreferredSize(new Dimension(500, 500)); return chartPanel; } private JFreeChart createChart(DefaultCategoryDataset dataSet) { JFreeChart chart = ChartFactory.createBarChart("Histogram", "Domain", "N emails", dataSet, PlotOrientation.VERTICAL, false, rootPaneCheckingEnabled, rootPaneCheckingEnabled); return chart; } private DefaultCategoryDataset createDataset() { DefaultCategoryDataset dataSet = new DefaultCategoryDataset(); for (Object key : histogram.keySet()) { dataSet.addValue(histogram.get(key), "", (Comparable) key); } return dataSet; } void execute() { setVisible(true); } }