JFreeChart在struts中的示例代码

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;//投票ID
	
	public 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;
	}
}

   
   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 下载JFreeChart:首先从JFreeChart官网下载JFreeChart。请确保您下载的是最新版本。 2. 在Eclipse创建项目:在Eclipse创建一个新项目。右键单击项目文件夹并选择“新建文件夹”。将文件夹命名为“lib”(或其他您想要的名称),然后单击“完成”。 3. 将JFreeChart库添加到项目:将JFreeChart库文件(.jar文件)复制到您创建的“lib”文件夹。在Eclipse,右键单击您的项目并选择“属性”>“Java构建路径”>“库”。单击“添加外部JAR”并选择您刚刚添加到“lib”文件夹JFreeChart库文件。单击“确定”。 4. 在Eclipse使用JFreeChart:现在您已经将JFreeChart库添加到Eclipse项目,您可以在Java代码使用JFreeChart。使用以下代码示例来创建一个简单的折线图: ```Java import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.category.DefaultCategoryDataset; public class MyChart { public static void main(String[] args) { //创建数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.setValue(12, "Sales", "Jan"); dataset.setValue(8, "Sales", "Feb"); dataset.setValue(6, "Sales", "Mar"); dataset.setValue(9, "Sales", "Apr"); dataset.setValue(15, "Sales", "May"); dataset.setValue(10, "Sales", "Jun"); //创建折线图 JFreeChart chart = ChartFactory.createLineChart( "Sales Report", //图表标题 "Month", //X轴标题 "Sales", //Y轴标题 dataset //数据集 ); //显示图表 ChartFrame frame = new ChartFrame("My Chart", chart); frame.pack(); frame.setVisible(true); } } ``` 完成后,您应该能够在Eclipse运行此代码并看到一个简单的折线图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ljt-tiger

thanks

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值