2016-08-30 5 views
3

я новый с JFreeChart, я пытался использовал его в jasperreport, я видел question о том, как вставить объект JFreeChart в jasperreport, и один из ответов работает, но метод не рекомендуется:Тип JFreeChartRenderer устарел, какой метод использовать?

JFreeChartRenderer jrc = new JFreeChartRenderer(SpiderChart.createChart2()); 

какой новый метод использовать?

ответ

2

Непосредственное замещение JFreeChartRender является DrawChartRendererImpl

new DrawChartRendererImpl(org.jfree.chart.JFreeChart chart, ChartHyperlinkProvider chartHyperlinkProvider); 

другой метод заключается в создании java.awt.image.BufferedImage, что вы можете retrive от JFreeChart

BufferedImage bufferedImage = chart.createBufferedImage(width, height); 

Заметим, однако, что обычно вы включили его непосредственно в jrxml (из IDE вы можете перетащить компонент диаграммы в отчет)

Exa mple из круговой диаграммы jrxml

<pieChart> 
    <chart> 
     <reportElement x="89" y="100" width="200" height="100" uuid="b96a1b13-4bf0-4983-8168-97b80abdae04"/> 
     <chartTitle/> 
     <chartSubtitle/> 
     <chartLegend/> 
    </chart> 
    <pieDataset> 
     <keyExpression><![CDATA[$F{fieldKey}]]></keyExpression> 
     <valueExpression><![CDATA[$F{fieldValue}]]></valueExpression> 
    </pieDataset> 
    <piePlot> 
     <plot/> 
     <itemLabel/> 
    </piePlot> 
</pieChart> 

Они являются Standard chart types вы можете использовать, если вы используете Jaspersoft Studio (и аналогично в иРепорт) см Creating Charts and Datasets with Jaspersoft Studio

+0

Я не хочу использовать Jasper диаграмму, я Я использую JFreeChart, но он работает, но метод, используемый для рендеринга диаграмм, устарел, и я не знаю нового синтаксиса – aName

+0

@hasanehas также JasperReports использует JFreeChart в стандартных типах диаграмм, то есть способ использования JFreeChart в отчетах о яшме Теперь. –

+0

Альтернативой является то, что вы передаете его как, например, BufferedImage в параметрах или источнике данных. –

 Смежные вопросы

  • Нет связанных вопросов^_^