?說完
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進去我們定義的那個變量即可:




























其中plot3D.setNoDataMessage("No data to display");這一句的意思是當沒有顯示出圖表或是圖表沒有數據不顯示時會顯示我們定義的這些信息。

這一句當然是set數據了,JFreeChartRenderer這個類是JRRenderable接口的間接實現,從API上看jasperReport已不推薦我們使用了。
????OK,我們test一下吧!JChartReportMain.java







































????iReport+jasperReport之JFreeChart(圖表報表)
?
中提到圖片控件,下面就看看jasperReport怎樣處理圖片吧!
新建一空白報表,分別畫兩個靜態文本字段和圖像控件上去
????????新建兩個參數分別為:imageParam和isShowImage,其中imageParam用來指定圖片路徑,isShowImage用來指定是否顯示圖片的。
????右擊查看圖片控件屬性:分別設置圖片參數和控制打印的表達式:
ok!這個就不用解釋了吧!試試就知道啦












????關于jasperReport圖片處理很簡單google一下很多啊,最近又開始忙了突然想起上篇遺留這個問題,所以抽空寫下來,算是對上篇的一個補充吧!以后有時間會繼續寫下去,國際化、corsstab、web端打印、純java定制復雜報表等。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
