zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/sharpest/p/6034596.html
Copyright © 2011-2022 走看看