?說完
iReport+jasperReport之scriptlet
?
下來就得看看圖表了,jasperReport的圖表完全借助于外部的繪圖工具,charts和JFreeChart,其中JFreeChart是目前java最火的一個繪圖工具了,還是引用
JFreeChart簡單使用
?
來實(shí)現(xiàn)我們的圖表吧,說到這里澄清一下,本篇寫的是jasperReport的圖表,下來會專門寫一篇關(guān)于jasperReport圖片報(bào)表。
????????jasperReport不重復(fù)發(fā)明車輪,在報(bào)表中是以一個變量的方式引入外部圖表的,下來我們看看是怎么實(shí)現(xiàn)
的,新建一變量jfreeChart 如圖:
????????緊接著我們在報(bào)表上放置一圖片控件,下來一篇我會詳細(xì)說說圖片問題,右擊設(shè)置圖片控件屬性,如圖所示:
net.sf.jasperreports.engine.JRRenderable為jasperReport一個專門用來處理圖表問題公共接口,一切OK,現(xiàn)在就是這個變量怎么才能吧jfreechart傳遞到報(bào)表中呢,還記得上篇的scriptlet嗎?
新建一JChartReportDemo.java類,繼承自JRDefaultScriptlet,當(dāng)然要實(shí)現(xiàn)那些方法不過大部分我們都是空實(shí)現(xiàn)而已,我們只要在afterReportInit方法內(nèi)繪制圖表然后在set進(jìn)去我們定義的那個變量即可:




























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

這一句當(dāng)然是set數(shù)據(jù)了,JFreeChartRenderer這個類是JRRenderable接口的間接實(shí)現(xiàn),從API上看jasperReport已不推薦我們使用了。
????OK,我們test一下吧!JChartReportMain.java







































看過前面幾篇應(yīng)該對這個相當(dāng)熟悉了吧!
????iReport+jasperReport之JFreeChart(圖表報(bào)表)
?
中提到圖片控件,下面就看看jasperReport怎樣處理圖片吧!
新建一空白報(bào)表,分別畫兩個靜態(tài)文本字段和圖像控件上去
????????新建兩個參數(shù)分別為:imageParam和isShowImage,其中imageParam用來指定圖片路徑,isShowImage用來指定是否顯示圖片的。
????右擊查看圖片控件屬性:分別設(shè)置圖片參數(shù)和控制打印的表達(dá)式:
ok!這個就不用解釋了吧!試試就知道啦












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

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