0

所需报告

你好 !

我需要使用 Jasper Reports 创建一个像附件显示的报告。

我用折线图试过了。结果:折线图需要 2 个轴的数字类型字段。

我已经用时间序列试过了。结果:时间序列期望轴有 1 个数字和 1 个日期类型字段。

我必须使用日期,所以我需要一个可以处理日期的图表类型。

有什么建议我该如何解决?我已经尝试了谷歌至少 10 个小时。现在我非常绝望。

谢谢 !

4

1 回答 1

1

我想我已经解决了我的问题。我写了一个定制器类:

package com.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartCustomizer;

import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickUnit;
import org.jfree.chart.plot.XYPlot;

public class TrendCustomizer implements JRChartCustomizer {
public void customize(JFreeChart chart, JRChart jasperChart) {
    DateAxis xAxis = new DateAxis();
    DateAxis yAxis = new DateAxis();

    DateTickUnit unit = null; 
    unit = new DateTickUnit(DateTickUnit.MONTH, 6); 

    DateFormat chartFormatter = new SimpleDateFormat("yyyy.MM.dd"); 

    xAxis.setDateFormatOverride(chartFormatter); 
    xAxis.setTickUnit(unit); 
    yAxis.setDateFormatOverride(chartFormatter); 
    yAxis.setTickUnit(unit); 

    ((XYPlot)chart.getPlot()).setDomainAxis(xAxis);
    ((XYPlot)chart.getPlot()).setRangeAxis(yAxis);
}
}
于 2012-06-28T09:02:30.423 回答