这篇文章中有例子和方法,可以看看!
http://www-900.ibm.com/developerWorks/cn/java/l-jfreechart/http://www.services-ha.com/article_view.asp?id=879

解决方案 »

  1.   

    可以试试JavaCellReport from http://www.javatoolsoft.com.
    它的那个图表功能做的不错.
      

  2.   

    给出的网站中有现成的实例呀!
    看看别人怎么构架和处理,根据这些方法来实现自己的应该不难呀!而且你下载jfreechart的包中还有一些例子程序可以看一看!
      

  3.   

    咳咳,首先,饼干图------jfreechart中有个PieDataset接口,有一个叫DefaultPieDataset的类实现了它,一般都是用这个类来生成一个饼干对象的啦,哈。当然你也可以自己写个类来实现PieDataset接口。其次你必须知道,jfreechart做图一般是两个步骤:一,生成一个对应的图表数据集对象(饼,线,柱..etc),然后在生成一个JFreeChart对象,把上面的数据集对象作为参数传进去,这是最简单的写法啦。下面就给你个demo看:
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PiePlot;
    import org.jfree.data.DefaultPieDataset;
    import org.jfree.data.PieDataset;
    import org.jfree.ui.ApplicationFrame;
    import org.jfree.ui.RefineryUtilities;public class BarChartDemo extends ApplicationFrame {
        public BarChartDemo(final String title) {        super(title);
            final PieDataset dataset = createDataset();
            final JFreeChart chart = createChart(dataset);        //因为这个例子是应用程序,所以要把图表放到pannel上显示,如果是放到servlet中的动态生成的话就要用到ChartUtilities.saveChartAsXXX(...)函数了,具体你看一下demo代码,很容易的.
            final ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
            setContentPane(chartPanel);    }    private PieDataset createDataset() {
            final DefaultPieDataset dataset = new DefaultPieDataset();
            dataset.setValue("One", new Double(43.2));
            dataset.setValue("Two", new Double(10.0));
            dataset.setValue("Three", new Double(27.5));
            dataset.setValue("Four", new Double(17.5));
            dataset.setValue("Five", new Double(11.0));
            dataset.setValue("Six", new Double(19.4));
            return dataset;
        }//one代表这一小块饼干给谁吃啦,这些数据可以从数据库中读出来,然后就可以在servlet或者jsp中动态生成统计图了    private JFreeChart createChart(final PieDataset dataset) {
            final JFreeChart chart = ChartFactory.createPieChart(
                "Pie Chart Demo 2",  // 图表标题栏名字
                dataset,             // dataset
                true,                // 是否显示图例
                true,
                false
            );
            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setNoDataMessage("No data available");
            plot.setExplodePercent(1, 0.30);
            return chart;
        }    public static void main(final String[] args) {        final BarChartDemo demo = new BarChartDemo("Pie Chart Demo 2");
            demo.pack();
            RefineryUtilities.centerFrameOnScreen(demo);
            demo.setVisible(true);    }}