var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>

          jutleo
          歡迎走進(jìn)有風(fēng)的地方~~
          posts - 63,  comments - 279,  trackbacks - 0
                  說完iReport+jasperReport之scriptlet 下來就得看看圖表了,jasperReport的圖表完全借助于外部的繪圖工具,charts和JFreeChart,其中JFreeChart是目前java最火的一個(gè)繪圖工具了,還是引用JFreeChart簡單使用 來實(shí)現(xiàn)我們的圖表吧,說到這里澄清一下,本篇寫的是jasperReport的圖表,下來會專門寫一篇關(guān)于jasperReport圖片報(bào)表。
                  jasperReport不重復(fù)發(fā)明車輪,在報(bào)表中是以一個(gè)變量的方式引入外部圖表的,下來我們看看是怎么實(shí)現(xiàn)
          的,新建一變量jfreeChart 如圖:

                  緊接著我們在報(bào)表上放置一圖片控件,下來一篇我會詳細(xì)說說圖片問題,右擊設(shè)置圖片控件屬性,如圖所示:

          net.sf.jasperreports.engine.JRRenderable為jasperReport一個(gè)專門用來處理圖表問題公共接口,一切OK,現(xiàn)在就是這個(gè)變量怎么才能吧jfreechart傳遞到報(bào)表中呢,還記得上篇的scriptlet嗎?
          新建一JChartReportDemo.java類,繼承自JRDefaultScriptlet,當(dāng)然要實(shí)現(xiàn)那些方法不過大部分我們都是空實(shí)現(xiàn)而已,我們只要在afterReportInit方法內(nèi)繪制圖表然后在set進(jìn)去我們定義的那個(gè)變量即可:
          public void afterReportInit() throws JRScriptletException {
                  
                  
          //create pie chart dataset
                  DefaultPieDataset dateset = new DefaultPieDataset();

                  
          //set dataset value
                  dateset.setValue("Chinese"108);
                  dateset.setValue(
          "Math"110);
                  dateset.setValue(
          "English"74);
                  dateset.setValue(
          "Science Department"226);
                  
                  
          /*
                   * create jfreeChart object
                   * the first parameter is pie chart title
                   * the secend parameter is dataset of pie chart
                   * the three parameter is boolean value,create chart note
                   * the four parameter is boolean value,it's a tooltip of move mouse on
                   * configure chart to generate URLs,It's get a PiePlot3D object
                   * 
                   
          */

                  JFreeChart freeChart 
          = ChartFactory.createPieChart3D("Report Pie Chart", dateset, truetruefalse);
                  
                  PiePlot3D plot3D 
          = (PiePlot3D) freeChart.getPlot();
                  plot3D.setNoDataMessage(
          "No data to display");
                  
                  
          // set variable "jfreeChart" value
                  this.setVariableValue("jfreeChart"new JFreeChartRenderer(freeChart));
              }
          其中plot3D.setNoDataMessage("No data to display");這一句的意思是當(dāng)沒有顯示出圖表或是圖表沒有數(shù)據(jù)不顯示時(shí)會顯示我們定義的這些信息。
          this.setVariableValue("jfreeChart"new JFreeChartRenderer(freeChart));
          這一句當(dāng)然是set數(shù)據(jù)了,JFreeChartRenderer這個(gè)類是JRRenderable接口的間接實(shí)現(xiàn),從API上看jasperReport已不推薦我們使用了。
              OK,我們test一下吧!JChartReportMain.java
          package org.bulktree.ireport.chart;

          import java.io.File;
          import java.io.FileInputStream;
          import java.io.InputStream;
          import java.util.HashMap;

          import net.sf.jasperreports.engine.JREmptyDataSource;
          import net.sf.jasperreports.engine.JasperCompileManager;
          import net.sf.jasperreports.engine.JasperFillManager;
          import net.sf.jasperreports.engine.JasperPrint;
          import net.sf.jasperreports.engine.JasperReport;
          import net.sf.jasperreports.view.JasperViewer;

          /**
           * 
          @author bulktree Email: laoshulin@gmail.com
           * @date Nov 28, 2008
           
          */

          public class JChartReportMain {
              
          public static void main(String[] args) {
                  String path 
          = "D:/workspace/JFreeChartReportDemo.jrxml";

                  File file 
          = new File(path);
                  InputStream in;
                  
          try {
                      HashMap parameters 
          = new HashMap();
                      parameters.put(
          "ReportTitle""LAOSHULIN");
                      in 
          = new FileInputStream(file);
                      JasperReport jasperReport 
          = JasperCompileManager.compileReport(in);
                      JasperPrint jasperPrint 
          = JasperFillManager.fillReport(jasperReport,
                              parameters, 
          new JREmptyDataSource());
                      JasperViewer viewer 
          = new JasperViewer(jasperPrint);
                      viewer.setVisible(
          true);
                  }
           catch (Exception e) {
                      e.printStackTrace();
                  }

              }

          }

          看過前面幾篇應(yīng)該對這個(gè)相當(dāng)熟悉了吧!
          posted on 2008-12-19 10:04 凌晨風(fēng) 閱讀(8990) 評論(16)  編輯  收藏 所屬分類: iReport + JasperReport 系列

          FeedBack:
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-03-16 13:32 | shuaijie

          你好,看到你的文章,故想要一份你的JasperReport(HTML格式的圖表)的代碼,麻煩您了,謝謝。  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-03-16 13:32 | shuaijie
          我的郵箱是:shuaijie.zhi@gmail.com,謝謝你了。  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-03-19 11:23 | 凌晨風(fēng)
          不好意思,沒有例子代碼有問題大家可以交流啊  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-03-26 20:06 | wwm
          為什么我生成的報(bào)表再WEB中圖片顯示不出來呢  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)[未登錄]
          2009-03-27 08:45 | 西西
          你好,想交流一下傳參數(shù)到圖表的問題,QQ:48322221  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-03-27 09:17 | 凌晨風(fēng)
          傳遞參數(shù)和普通的參數(shù)傳遞是一樣的  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-04-01 16:08 | zhangb310
          你好:
          我用的是ireport 工具生成報(bào)表, ireport怎么樣和jfreechart結(jié)合使用,
          還有我在ireport中java程序怎么用啊?
            回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-04-01 16:10 | zhangb310
          新手
          求教ireport的深入問題.
          msn:zhangb310@hotmail.com
            回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-04-01 16:17 | 凌晨風(fēng)
          @zhangb310
          scriptlet
            回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)[未登錄]
          2009-04-16 17:29 | 1
          我做出來的圖表,Html頁面圖片為什么無法刷新?  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-06-22 11:29 | ps
          @shuaijie

          你自己寫啦。。要?jiǎng)e人的代碼?。?br>  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-07-22 16:49 | XX某
          Html不出圖片
          怎么解決哦!
          QQ:3039410790  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-11-09 11:49 | tt
          JChartReportDemo.java這個(gè)類你是怎么注冊進(jìn)去的呢?  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2009-11-23 17:28 | tgm
          能給出html形式的jfreechart不?  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)
          2012-05-09 00:37 |
          求web中與struts2結(jié)合使用的,我的郵箱是yuchensuifeng@hotmail.com,謝謝  回復(fù)  更多評論
            
          # re: iReport+jasperReport之JFreeChart(圖表報(bào)表)[未登錄]
          2012-10-18 17:35 | sky
          你好!
          我用的是ireport 工具生成報(bào)表, ireport怎么樣和jfreechart結(jié)合使用,
          還有我在ireport中java程序怎么用啊?
          怎樣ireport生產(chǎn)線圖或柱狀圖的橫縱坐標(biāo)軸刻度大小?求解決。
          我qq:425023633 郵箱:skytoxiao@163.com  回復(fù)  更多評論
            

          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(11)

          我參與的團(tuán)隊(duì)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          收藏夾

          圍脖

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东宁县| 开阳县| 会泽县| 博爱县| 孟村| 安图县| 贵港市| 兴海县| 广西| 乌恰县| 独山县| 韶山市| 龙游县| 金溪县| 大兴区| 崇州市| 凌源市| 临朐县| 外汇| 黄陵县| 锦州市| 库车县| 林口县| 民勤县| 灵宝市| 桐梓县| 佛教| 安福县| 南岸区| 隆子县| 桐乡市| 新郑市| 清远市| 措美县| 乐至县| 苗栗市| 图木舒克市| 买车| 武隆县| 方城县| 鄂托克旗|