JFreeChart与struts2整合实例

1. 3个jar包

jcommon,jfreechart,strust2-jfreechart-plugin

 

2

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
 3 <struts>
 4     <package name="default2" namespace="/" extends="jfreechart-default,struts-default">
 5     <action name="resultAction" class="com.goshop.action.ShowResultAction" >
 6           <result name="success"   type="chart">  
 7                 <param name="width">400</param>  
 8                 <param name="height">300</param>  
 9             </result>  
10         </action>    
11     </package>
12 </struts>

 

3.

 1 package com.goshop.action;
 2 
 3 import java.awt.Font;
 4 import java.util.List;
 5 
 6 import javax.annotation.Resource;
 7 
 8 import org.jfree.chart.ChartFactory;
 9 import org.jfree.chart.JFreeChart;
10 import org.jfree.chart.axis.CategoryAxis;
11 import org.jfree.chart.axis.NumberAxis;
12 import org.jfree.chart.plot.CategoryPlot;
13 import org.jfree.chart.plot.PlotOrientation;
14 import org.jfree.data.category.DefaultCategoryDataset;
15 import org.springframework.stereotype.Controller;
16 
17 import com.goshop.domain.VoteOption;
18 import com.goshop.service.IVoteOptionService;
19 import com.opensymphony.xwork2.ActionSupport;
20 
21 @Controller
22 public class ShowResultAction extends ActionSupport {
23 
24     private int voteID;
25     private int channelID;
26 
27     public int getVoteID() {
28         return voteID;
29     }
30 
31     public void setVoteID(int voteID) {
32         this.voteID = voteID;
33     }
34 
35     public int getChannelID() {
36         return channelID;
37     }
38 
39     public void setChannelID(int channelID) {
40         this.channelID = channelID;
41     }
42 
43     @Resource
44     private IVoteOptionService optionService;
45     private JFreeChart chart;
46 
47     public void setChart(JFreeChart chart) {
48         this.chart = chart;
49     }
50     public JFreeChart getChart(){
51 
52         List<VoteOption> voteOptionList = optionService
53                 .selectVoteOptionsByVoteId(voteID);
54         DefaultCategoryDataset ds = new DefaultCategoryDataset();
55         for (VoteOption option : voteOptionList) {
56             ds.addValue(option.getTicketNum(), option.getVoteOptionName(), "");
57         }
58         JFreeChart chart = ChartFactory.createBarChart("球星投票结果", "投票选项", "投票数",
59                 ds, PlotOrientation.VERTICAL, true, false, false);
60         CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
61         NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
62         CategoryAxis domainAxis = categoryplot.getDomainAxis();
63 
64         /*------设置X轴坐标上的文字-----------*/
65         domainAxis.setLabelFont(new Font("sans-serif", Font.PLAIN, 11));
66         /*------设置X轴的标题文字------------*/
67         domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
68         /*------设置Y轴坐标上的文字-----------*/
69         numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
70         /*------设置Y轴的标题文字------------*/
71         numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
72 
73         /*------这句代码解决了底部汉字乱码的问题-----------*/
74         chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
75         /******* 这句代码解决了标题汉字乱码的问题 ********/
76         /******* 这句代码解决了标题汉字乱码的问题 ********/
77         chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12));
78 
79         return chart;
80     }
81 
82     public String execute() throws Exception {
83         return "success";
84     }
85 }

 

转载于:https://www.cnblogs.com/sharpest/p/6034596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值