【发布时间】:2021-08-30 15:05:29
【问题描述】:
我正在尝试将我的报告格式化为通过我的 JRXML 报告仅显示 2 个小数位和百分比,但即使使用类定制器,它也无法正常工作,并且当它显示在 PDF 文件上时。
我的代码(定制器类):
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartCustomizer;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.BarRenderer;
public void customize(JFreeChart chart, JRChart jasperChart){
CategoryPlot barPlot = (CategoryPlot) chart.getPlot();
BarRenderer renderer = (BarRenderer) barPlot.getRenderer();
NumberFormat formatter = new DecimalFormat("#0.00%");
formatter.setMinimumFractionDigits(2);
StandardCategoryItemLabelGenerator scilg2 = new StandardCategoryItemLabelGenerator("{0} {2}", formatter);
renderer.setItemLabelGenerator(scilg2);
}
我已经在每个论坛上搜索过,但答案都没有,大多数都应用于饼图,但我的情况不是这样。
PS:我使用的是 JFreeChart 1.0.0 版本和 iReport 1.2.8。
【问题讨论】:
-
@AlexK,在具有相同报告的另一个图表(饼图)上,它正确返回。但是当这些相同的变量出现在 CategoryPlot 图表上时,就会发生这种情况。
-
最好贴小jrxml和一些测试数据(例如csv文件)来重现问题
-
@trashgod,我要测试一下stackoverflow.com/questions/53963201/… 的帖子,看看结果如何。
标签: jasper-reports bar-chart jfreechart