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

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

            緊接著我們在報表上放置一圖片控件,下來一篇我會詳細說說圖片問題,右擊設置圖片控件屬性,如圖所示:

    net.sf.jasperreports.engine.JRRenderable為jasperReport一個專門用來處理圖表問題公共接口,一切OK,現在就是這個變量怎么才能吧jfreechart傳遞到報表中呢,還記得上篇的scriptlet嗎?
    新建一JChartReportDemo.java類,繼承自JRDefaultScriptlet,當然要實現那些方法不過大部分我們都是空實現而已,我們只要在afterReportInit方法內繪制圖表然后在set進去我們定義的那個變量即可:
    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");這一句的意思是當沒有顯示出圖表或是圖表沒有數據不顯示時會顯示我們定義的這些信息。
    this.setVariableValue("jfreeChart"new JFreeChartRenderer(freeChart));
    這一句當然是set數據了,JFreeChartRenderer這個類是JRRenderable接口的間接實現,從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();
            }

        }

    }

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

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

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

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

    <2012年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(11)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    收藏夾

    圍脖

    最新隨筆

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人免费AA片在线观看| 国产成人精品无码免费看 | 四虎影视免费在线| 亚洲熟妇无码爱v在线观看| 久久久99精品免费观看| 亚洲AV日韩精品久久久久| 久久久国产精品无码免费专区| 亚洲中文字幕久久精品无码APP| 一级片在线免费看| 国产精一品亚洲二区在线播放| 两个人看的www高清免费观看| 亚洲精品蜜桃久久久久久| 成人爽a毛片免费| 亚洲色图国产精品| 日韩视频在线精品视频免费观看| 亚洲国产精品成人精品小说| 免费无码AV电影在线观看| 亚洲av无码专区青青草原| 亚洲av手机在线观看| 一区视频免费观看| 亚洲AV中文无码乱人伦下载 | 一级a性色生活片久久无少妇一级婬片免费放| 国产免费人人看大香伊| 国产精品免费久久久久久久久| 亚洲一区二区三区偷拍女厕| 日本免费人成视频在线观看| 亚洲国产精品白丝在线观看 | 国产偷窥女洗浴在线观看亚洲 | 免费精品人在线二线三线区别| 亚洲狠狠婷婷综合久久蜜芽| 亚洲A丁香五香天堂网| 无码一区二区三区免费| 亚洲情A成黄在线观看动漫软件 | 一级毛片免费毛片一级毛片免费| 亚洲人成激情在线播放| www.91亚洲| 久久免费视频99| 亚洲AV无码AV日韩AV网站| 亚洲日韩v无码中文字幕| 国产92成人精品视频免费| 国产亚洲精品第一综合|