JFreeChart的下载、安装和使用

    技术2025-05-25  20

    JFreeChart的下载地址为http://sourceforge.net/project/showfiles.php?group_id=15494,解压下载的jfreechart_1.0.9.zip包到指定位置,为了配置成功,需要lib目录中的jfreechart-1.0.9.jar,jcommon-1.0.12.jar文件拷贝到TEST/WEB-INF/LIB中。 还需要插件:struts2-jfreechart-plugin-2.0.11.jar(在struts2发布包的lib目录下可以找到),

    10.21.3  使用JFreeChart从配置文件开始:在struts.xml文件增加一个对生成图表包,如下

    <package name="chartaction" extends="jfreechart-default">   <action name="chartAction" class="com.struts2.app.ChartAction" >    <result name="success" type="chart"> <!-- 这里一定要设置为chart-->           <param name="height">300</param>              <param name="width">240</param>       </result>   </action>

       <action name="pieAction" class="com.struts2.app.PieAction">    <result name="success" type="chart"> <!-- 这里一定要设置为chart-->        <param name="height">300</param>        <param name="width">400</param>    </result>   </action>

    </package>

    创建Action类,代码:

    package com.yhh.test;

    import java.awt.Font;

    import javax.swing.JPanel;

    import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartFrame;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PiePlot;import org.jfree.data.general.DefaultPieDataset;import org.jfree.data.general.PieDataset;import org.jfree.ui.ApplicationFrame;import org.jfree.ui.RefineryUtilities;

    public class FirstJFreeChart extends ApplicationFrame {

    /*  public FirstJFreeChart() {  }

      public static void main(String[] args){   DefaultPieDataset dpd = new DefaultPieDataset();   dpd.setValue("管理人员",25);   dpd.setValue("市场人员",25);   dpd.setValue("开发人员",45);   dpd.setValue("其他人员",5);

       //Create JFreeChart object   //参数可以查看源码   JFreeChart pieChart = ChartFactory.createPieChart("CityInfoPort公司组织架构图",dpd,true,true,false);   ChartFrame pieFrame = new ChartFrame("CityInfoPort公司组织架构图",pieChart);   pieFrame.pack();   pieFrame.setVisible(true);   }   */  public FirstJFreeChart(String s){  super(s);  setContentPane(createDemoPanel());  }

      public static void main(String[] args){  FirstJFreeChart fjc = new FirstJFreeChart("CityInfoPort公司组织架构图");  fjc.pack();  RefineryUtilities.centerFrameOnScreen(fjc);  fjc.setVisible(true);  }  //生成饼图数据集对象  public static PieDataset createDataset(){  DefaultPieDataset defaultpiedataset = new DefaultPieDataset();  defaultpiedataset.setValue("管理人员",10.02D);  defaultpiedataset.setValue("市场人员",20.23D);  defaultpiedataset.setValue("开发人员",60.02D);  defaultpiedataset.setValue("OEM人员",10.02D);  defaultpiedataset.setValue("其他人员",5.11D);

      return defaultpiedataset;  }

      //生成图表主对象JFreeChart  public static JFreeChart createChart(PieDataset piedataset){  //定义图表对象  JFreeChart jfreechart = ChartFactory.createPieChart("CityInfoPort公司组织架构图",piedataset,true,true,false);  //获得图表显示对象  PiePlot pieplot = (PiePlot)jfreechart.getPlot();  //设置图表标签字体  pieplot.setLabelFont(new Font("SansSerif",Font.BOLD,12));  pieplot.setNoDataMessage("No data available");  pieplot.setCircular(true);  pieplot.setLabelGap(0.01D);//间距

      return jfreechart;  }

      //生成显示图表的面板  public static JPanel createDemoPanel(){  JFreeChart jfreechart = createChart(createDataset());  return new ChartPanel(jfreechart);  }

    }

    最新回复(0)