【发布时间】:2012-11-09 03:30:50
【问题描述】:
这是我在 Swing 应用程序中显示 Jasper 报告的方式。
JasperViewer.viewReport(jasperPrint, true);
那么当查看报表时,报表查看器的标题为“Jasper Viewer”。我想更改它并设置我自己的标题名称。我的另一个问题是如何直接将报告发送到打印而不查看。请提供任何示例代码。谢谢
【问题讨论】:
标签: java swing jasper-reports
这是我在 Swing 应用程序中显示 Jasper 报告的方式。
JasperViewer.viewReport(jasperPrint, true);
那么当查看报表时,报表查看器的标题为“Jasper Viewer”。我想更改它并设置我自己的标题名称。我的另一个问题是如何直接将报告发送到打印而不查看。请提供任何示例代码。谢谢
【问题讨论】:
标签: java swing jasper-reports
我通常做的是:
JasperViewer jv = new JasperViewer(jasperPrint, false);
jv.setTitle("Report-Title");
jv.setVisible(true);
之所以有效,是因为 JasperViewer 是一个 JFrame -
public class JasperViewer extends JFrame{
//...
}
【讨论】:
JasperViewer.viewReport(...)是一个包装类,它创建并显示带有JRViewer面板的JasperViewerJFrame。
使用这种方法你不能访问底层的JFrame,所以你不能改变框架标题。
您可以尝试使用公共构造函数创建自己的JasperViewer 框架,然后使用setTitle(...) 方法设置标题。
另一种推荐的方法是使用JRViewer 面板创建自定义JDialog。
打印您的报告而不查看:
final JRPrintServiceExporter exporter = new JRPrintServiceExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE);
exporter.exportReport();
【讨论】: