Jasper Viewer设置标题

Déb*_*ora 5 java swing jasper-reports

以下是我在swing应用程序中显示Jasper报告的方法.

 JasperViewer.viewReport(jasperPrint, true);
Run Code Online (Sandbox Code Playgroud)

然后,当查看报告时,报告查看器的标题是"Jasper Viewer".我想改变它并设置我自己的标题名称.我的另一个问题是如何直接将报告发送到打印而不查看.请提供任何示例代码.谢谢

gti*_*333 8

我通常做的是:

        JasperViewer jv = new JasperViewer(jasperPrint, false);
        jv.setTitle("Report-Title");
        jv.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

这是因为,JasperViewer是一个JFrame -

public class JasperViewer extends JFrame{
   //...
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*uri 6

JasperViewer.viewReport(...)是一个包装类,它创建并显示JasperViewer JFrame一个JRViewer面板.

使用此方法无法访问底层JFrame,因此无法更改框架标题.

您可以尝试JasperViewer使用公共构造函数创建自己的框架,然后使用该setTitle(...)方法设置标题.

另一种建议的方法是JDialog使用JRViewer面板创建自定义.

要打印报告而不查看:

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();
Run Code Online (Sandbox Code Playgroud)