JFreeChart在struts中的示例代码

来源:互联网 发布:矩阵分析课后答案pdf 编辑:程序博客网 时间:2024/05/22 12:17

09620171005

package com.tiger.action;import java.io.FileOutputStream;import java.util.List;import org.jfree.chart.*;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.DefaultCategoryDataset;import org.jfree.data.general.DefaultPieDataset;import com.opensymphony.xwork2.ActionSupport;import com.tiger.bean.*;import com.tiger.dao.*;import com.tiger.daoFactory.DaoFactory;public class VoteResultAction extends ActionSupport {private static final long serialVersionUID = 1L;/** * 表单提交的参数 */private int vote_id;//投票IDpublic int getVote_id() {return vote_id;}public void setVote_id(int vote_id) {this.vote_id = vote_id;}/** * getChart方法名必须与struts.xml配置文件中相对应 * @return */public JFreeChart getChart() {VoteDao voteDao = DaoFactory.getVoteDaoInstance();//获得VoteDAO实例VoteOptionDao optionDao = DaoFactory.getVoteOptionDaoInstance();//获得voteOption实例//根据投票ID得到的投票Vote vote = voteDao.findVoteById(vote_id);String voteName = vote.getVoteName();//得到投票名称//根据投票ID得到所有的投票选项List voteOptions = optionDao.findVoteOptionByVoteID(vote_id);//DefaultCategoryDataset bardata = new DefaultCategoryDataset();//柱状图DefaultPieDataset piedata = new DefaultPieDataset();//饼图数据源//设置数据for(VoteOption voteOption : voteOptions) {//bardata.setValue(voteOption.getTicketNum(),//数值//"",//行标签名//voteOption.getVoteOptionName());//列标签名piedata.setValue(voteOption.getVoteOptionName(),voteOption.getTicketNum() );//饼图}//JFreeChart chart = ChartFactory.createBarChart3D(//柱状图//voteName,//标题//"投票选项",//目录轴的显示标签//"投票数", //数值轴的显示标签//bardata,//数据集//PlotOrientation.VERTICAL ,//图表方向//false, //是否显示图例,对于简单的柱状图必须是false//true,//是否生成工具//true);//是否生成uri链接JFreeChart chart = ChartFactory.createPieChart3D(//饼图voteName,piedata,true, false, false);return chart;}public String execute() throws Exception {System.out.println("图片输出");FileOutputStream fos = null;try {fos = new FileOutputStream("D:\\tiger.jpg");ChartUtilities.writeChartAsJPEG(fos, 100, getChart(), 400, 300);fos.close();} catch (Exception e) {e.printStackTrace();}return SUCCESS;}}

原创粉丝点击