【问题标题】:The type JFreeChartRenderer is deprecated, what method should I use?JFreeChartRenderer 类型已弃用,我应该使用什么方法?
【发布时间】:2016-08-30 10:15:51
【问题描述】:

我是 JFreeChart 的新手,我尝试在 jasperreport 中使用它,我看到了 question 关于如何在 jasperreport 中插入 JFreechart 对象,其中一个响应有效,但使用的方法已弃用:

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

新的使用方法是什么?

【问题讨论】:

    标签: jasper-reports jfreechart deprecated


    【解决方案1】:

    JFreeChartRender 的直接替换是DrawChartRendererImpl

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

    另一种方法是提供一个java.awt.image.BufferedImage,您可以从 JFreechart 中检索它

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

    请注意,通常您将其直接包含在您的 jrxml 中(从 IDE 中您可以将图表组件拖到报告中)

    饼图 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(和 iReport 中的类似功能),请参阅 Creating Charts and Datasets with Jaspersoft Studio

    【讨论】:

    • 我不想使用 Jasper 图表,我正在使用 JFreeChart 并且它可以工作,但是用于渲染图表的方法已被弃用,我不知道新语法
    • @hasane 也 JasperReports 在标准图表类型中使用 JFreeChart,这就是现在在 jasper 报告中使用 JFreeChart 的方式。
    • 另一种方法是将其作为参数或数据源中的 BufferedImage 传递。
    • 我将它作为图像传递
    猜你喜欢
    • 1970-01-01
    • 2016-10-14
    • 2013-08-21
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2016-08-10
    • 2015-02-17
    • 2019-08-28
    相关资源
    最近更新 更多