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 凌晨風 閱讀(8990) 評論(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  回復  更多評論
      

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

    常用鏈接

    留言簿(11)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    收藏夾

    圍脖

    最新隨筆

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品在线视频| 日本免费一二区在线电影 | 99精品全国免费观看视频| 亚洲精品线在线观看| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 亚洲国产视频网站| 成人黄色免费网站| 亚洲色偷精品一区二区三区| 色妞WWW精品免费视频 | 无遮挡免费一区二区三区| 亚洲国产一成久久精品国产成人综合 | 亚洲欧洲中文日韩久久AV乱码| 日韩a毛片免费观看| 亚洲综合AV在线在线播放| 日本中文字幕免费高清视频| 久久亚洲精品无码AV红樱桃| 100000免费啪啪18免进| 亚洲欧美日韩综合久久久| 亚洲福利精品一区二区三区| 在线观看免费黄色网址| 亚洲黑人嫩小videos| 成人a视频片在线观看免费| 免费看一级高潮毛片| 亚洲大尺度无码专区尤物| 免费可以看黄的视频s色| 国产亚洲日韩在线a不卡| 国产A在亚洲线播放| 麻豆最新国产剧情AV原创免费 | 亚洲日韩一区二区三区| 亚洲国产综合久久天堂| 免费无码VA一区二区三区| 亚洲色中文字幕在线播放| 亚洲精品乱码久久久久久蜜桃 | 成人精品一区二区三区不卡免费看| 亚洲人成网www| 国产一区二区三区在线免费| 18禁在线无遮挡免费观看网站| 亚洲日韩国产精品乱-久| 亚洲中文字幕无码一区二区三区 | 五月天婷婷精品免费视频| 在线观看亚洲人成网站|