JasperReport oldukça kuvvetli ve birçok özellikler sunan bir raporlama aracı olduğundan birçok firma ve kuruluş tarafından kabul görmektedir. Özellikle sunduğu geniş özellikler ve Java içinden çağırılabilmesi sayesinde geliştirdiğiniz raporlama arabirimlerinde bir numaralı tercihiniz olacaktır. Bu örnekte JChart kullanarak bir grafik çizip bunu JasperReports içinden çağırmayı göstereceğiz. İlk olarak elimizdeki veriyle basit bir XY grafiği çizelim; // Eğriye gönderilecek veri dizileri birden fazla eğri gönderebilirsiniz XYSeriesCollection dataset = new XYSeriesCollection ; // eğri için veriler for(int j = 1; j &lt; 4; j++){ XYSeries xy = new XYSeries ; for(int i = 0; i &lt; 7; i++) dataset. addSeries ; } JFreeChart chart = ChartFactory. createXYLineChart ; XYPlot plot = chart. getXYPlot ; SymbolAxis domainAxis = new SymbolAxis ; plot. setDomainAxis ; chart. setBackgroundPaint ; plot. setOutlinePaint ; Oluşturduğumuz grafikle ilgili veriler chart nesnesinde tutulmaktadır. Şimdi ise JasperReports a göndereceğimiz HashMap i oluşturalım. HashMap parameters = new HashMap ; // 1200 x 360 ebatında grafiği çizdir parameters. put( myChart, chart. createBufferedImage(1200, 360)); parameters. put ; Bu şekilde grafiğimizi çizip kaydetmiş olduk. Şimdi ise jasper. jrxml dosyasını çağırıp derleme yapan kodu yazalım. jrxml dosyası oluşturacağınız raporla ilgili tasarımı içermektedir. // tasarım dosyasını yükle JasperDesign jasperDesign = JRXmlLoader. load ; // tasarımı derle JasperReport jasperReport = JasperCompileManager.compileReport ; // rapora verileri yükle JasperPrint print = JasperFillManager. fillReport ; // pdf çıktısını hazırla JRExporter exporter = new net. sf. jasperreports. engine. export. JRPdfExporter ; // cikti dosyasının adını seç exporter. setParameter ; exporter. setParameter ; // pdf dosyasını oluştur exporter. exportReport ; Oluşturulan pdf dosyasına baktığınızda grafiğinizi göreceksiniz. Aşağıda jrxml dosyasının içeriği verilmiştir. Parametre tanımlarına dikkat ediniz. &lt;?xml version= 1.0′′ encoding= UTF-8′′?&gt; &lt;jasperReport xmlns= http://jasperreports.sourceforge. net/jasperreports xmlns:xsi= http://www. w3. org/2001/XMLSchema-instance xsi:schemaLocation= http://jasperreports.sourceforge. net/jasperreports http://jasperreports.sourceforge. net/xsd/jasperreport. xsd name= StreamingDurationperChannels language= groovy pageWidth= 1220′′ pageHeight= 1200′′ orientation= Landscape columnWidth= 834′′ leftMargin= 20′′ rightMargin= 20′′ topMargin= 20′′ bottomMargin= 20′′&gt; &lt;style name= Crosstab Data Text isDefault= false hAlign= Center /&gt; &lt;parameter name= myChart isForPrompting= false /&gt; &lt;parameter name= bigHeader isForPrompting= false /&gt; &lt;background&gt; &lt;band splitType= Stretch /&gt; &lt;/background&gt; &lt;pageHeader&gt; &lt;band height= 418′′ splitType= Stretch &gt; &lt;textField&gt; &lt;reportElement x= 0′′ y= 0′′ width= 1748′′ height= 30′′/&gt; &lt;textElement&gt; &lt;font size= 16′′/&gt; &lt;/textElement&gt; &lt;textFieldExpression&gt;&lt;![CDATA ]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;image scaleImage= RetainShape hAlign= Center vAlign= Middle isUsingCache= false &gt; &lt;reportElement key= element-41′′ mode= Opaque x= 0′′ y= 58′′ width= 1214′′ height= 360′′ forecolor= #000000′′ backcolor= #FFFFFF /&gt; &lt;graphicElement fill= Solid &gt; &lt;pen lineWidth= 0.0′′ lineStyle= Solid /&gt; &lt;/graphicElement&gt; &lt;imageExpression&gt;&lt;![CDATA ]&gt;&lt;/imageExpression&gt; &lt;/image&gt; &lt;/band&gt; &lt;/pageHeader&gt; &lt;/jasperReport&gt; Kaynak