丄諦啲仇魜ヤ
          如 果 敵 人 讓 你 生 氣 , 那 說 明 你 沒 有 勝 他 的 把 握!
          posts - 6,comments - 56,trackbacks - 1

           1.JFreeReport :報表解決工具
          2.JFreeChart:Java 圖形解決方案(Application/Applet/Servlet/Jsp)
          3.JCommon :JFreeReport和JFreeChart的公共類庫
          4.JFreeDesigner :JFreeReport的報表設計工具
          下載 地址 http://www.jfree.org/jfreechart/index.html 解壓將LIB下的jfreechart-1.0.6.jar 、jcommon-1.0.10.jar、gnujaxp.jar 放到項目中即可,如果加上第三個jar(gnujaxp.jar)包有時web.xml會報錯,把它去掉就好了。

          我的環境 tomcat 6.0 ,eclipse 3.2.  mssql 
           

          <servlet>
              
          <servlet-name>DisplayChart</servlet-name>
              
          <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
            
          </servlet>

           
          <servlet-mapping>
              
          <servlet-name>DisplayChart</servlet-name>
              
          <url-pattern>/servlet/DisplayChart</url-pattern>
            
          </servlet-mapping>



          package com.report;

          import java.text.SimpleDateFormat;
          import java.util.Date;
          import java.util.Iterator;
          import java.util.List;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;
          import org.jfree.chart.ChartFactory;
          import org.jfree.chart.JFreeChart;
          import org.jfree.chart.plot.PlotOrientation;
          import org.jfree.data.category.DefaultCategoryDataset;
          import com.dao.DbApplicationDAO;

          /**
           * 處理柱狀圖
           * 
           * @version1.0 2007-11-3
           * @author王世清
           
          */

          public class CategoryAction extends Action {

              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response) 
          {

                  String year 
          = "";

                  
          /** ******JfreeChart中的制作柱狀圖類******* */

                  DefaultCategoryDataset dataset 
          = new DefaultCategoryDataset();

                  
          /** 查找當年的請假每月的假期總數* */

                  DbApplicationDAO dbApplicationDAO 
          = new DbApplicationDAO();

                  String flag 
          = (String) request.getSession().getAttribute("flag");

                  
          if ("manager".equals(flag)) {
                      year 
          = request.getParameter("year");
                      
          // System.out.println("經理輸入的年份是 "+ year);
                  }
           else {
                      SimpleDateFormat sd 
          = new SimpleDateFormat("yyyy");
                      Date date 
          = new Date();
                      year 
          = sd.format(date);
                  }


                  List list 
          = dbApplicationDAO.findAplicationByYear(year);
                  Iterator i 
          = list.iterator();
                  
          while (i.hasNext()) {
                      Object[] row 
          = (Object[]) i.next();
                      Integer days 
          = (Integer) row[0];
                      String month 
          = (String) row[1];
                      dataset.addValue(days, month 
          + "", month + "");

                  }

                  JFreeChart chart 
          = ChartFactory.createBarChart3D(year + " 年假期統計", year
                          
          + " 年假期統計""天數",

                  dataset, PlotOrientation.VERTICAL, 
          // 選擇水平或者垂直放

                          
          true,// 是否顯示顏色類別(地區)提示

                          
          false,

                          
          false);
                  request.setAttribute(
          "chart", chart);
                  
          return mapping.findForward("go_category");
              }

          }


          顯示柱狀圖的JSP

          <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
          <%@ page
              
          import="org.jfree.chart.JFreeChart,org.jfree.chart.servlet.ServletUtilities"%>
          <HTML>
              
          <HEAD>
                  
          <TITLE>柱狀圖</TITLE>
              
          </HEAD>
              
          <BODY bgcolor="#E0F0F8">

                  
          <%
                       JFreeChart chart
          =(JFreeChart)request.getAttribute("chart");
                       String filename 
          = ServletUtilities.saveChartAsPNG (chart, 600300null, session);
                      String graphURL 
          = request.getContextPath () + "/servlet/DisplayChart?filename=" + filename;
                   
          %>
                   
          <center>
                  
          <table>
                      
          <tr valign="top" align="center">
                          
          <td>
                              
          <%@ include file="header.jsp"%>
                          
          </td>
                      
          </tr>
                  
                      
          <tr>
                          
          <td valign="middle" align="center">
                              
          <img src="<%= graphURL %>" width="500" height="300" border="0"
                                  usemap
          ="#<%= filename %>" alt="">
                          
          </td>
                      
          </tr>
                  
          </table>
                  
          </center>
              
          </BODY>
          </HTML>


          posted on 2007-12-06 14:40 Crying 閱讀(265) 評論(1)  編輯  收藏 所屬分類: JreeChart使用

          FeedBack:
          # 柱狀圖[轉帖][TrackBack]
          2008-01-02 19:37 | 零度海陽
          轉自:http://www.aygfsteel.com/Crying/articles/165799.html 柱狀圖
          [引用提示]零度海陽引用了該文章, 地址: http://www.cnweblog.com/nm1504/archive/2008/01/02/268773.html  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乌审旗| 蓝山县| 蓬溪县| 富宁县| 江达县| 凉城县| 景德镇市| 宿州市| 历史| 土默特左旗| 贵港市| 红河县| 鹤山市| 汶川县| 大新县| 怀化市| 罗平县| 柘城县| 大余县| 承德县| 曲麻莱县| 屏山县| 开原市| 报价| 平乐县| 乐平市| 印江| 阿巴嘎旗| 宕昌县| 扎兰屯市| 汕头市| 天全县| 九龙城区| 东至县| 恩施市| 张家港市| 合山市| 深圳市| 大足县| 内黄县| 凤台县|