1

我在我的 java 应用程序中使用 JFreeChart 来显示这样的图表: 在此处输入图像描述

但是在使用 JasperReports 创建报告后,该图表现在看起来像这样: 在此处输入图像描述

这还不是全部,这是应用程序生成的第一个 PDF 报告中图表的样子: 第一次报告

这就是我生成第二份报告时的样子,没有改变任何东西,只是再次生成它: 第二次报告

每次我重新启动应用程序时,都会一次又一次地发生这种情况。在我创建报告之前,图表还可以。发生了什么?

4

2 回答 2

1

看起来它JasperReports使用了更平淡无奇BarPainter的方式ChartTheme,可能是为了适应处理渐变效果不佳的目的地。

论坛主题建议将所需主题直接应用于图表。该createLegacyTheme()方法“返回一个ChartTheme不会对JFreeChart默认值进行任何更改的方法。它或类似的东西可能值得一试:

StandardChartTheme.createLegacyTheme().apply(chart)
于 2013-04-12T09:55:12.847 回答
1

我已将编辑移至此处作为答案:

主题问题

感谢@trashgod,我尝试了以下行:

ChartFactory.setChartTheme(StandardChartTheme.createJFreeTheme());

如果我在应用程序中创建图表之前使用此行,报告将不再影响它们的外观。我认为在报告创建后只放置一次这条线就足够了。

所以现在我只有一个问题:第一份报告与后续报告不同:图表不同,字体更粗且没有抗锯齿......

第二次报告的问题

pdf 问题不是由 jasper 报告或 jfreechart 引起的。这是 Adob​​e Reader 的问题。当您运行多个 Adob​​e Reader 实例时会发生这种情况(例如,当您打开两个不同的文件时)。
问题示例: 在此处输入图像描述 类似问题:

于 2013-05-03T12:25:19.380 回答