我正在使用Swing框架和JasperReports开发基于Java桌面的应用程序进行报告。我遇到了一些问题,当JasperViewer出现时,我想保存报告。

如何在保存对话框中设置文件名(默认为空白),以及如何仅限制Pdf格式?

这是我的代码:

JRBeanCollectionDataSource beanCollection=new JRBeanCollectionDataSource(matakuliahs);

Map<String,Object> map=new HashMap<String, Object>();
map.put("namaMahasiswa", mahasiswa.getNama());

InputStream input=getClass().getResourceAsStream("/reportsederhana/reportsederhana.jrxml");
JasperDesign design=JRXmlLoader.load(input);
JasperReport report=JasperCompileManager.compileReport(design);
JasperPrint jasperPrint=JasperFillManager.fillReport(report, map, beanCollection);
jasperPrint.setName("Laporan "+mahasiswa.getNama()); // it doesn't give the name
JasperViewer.viewReport(jasperPrint,false);

最佳答案

为了将默认扩展名设置为保存,一个想法是您需要以某种方式从JRViewer(实例)获取JasperViewer实例,然后在void JRViewer实例上设置一些保存。贡献。看看JRViewer.setSaveContributors(JRSaveContributor[] saveContribs)

对于设置文件名,我不太确定,但请查看JRViewer.JRViewer(String, boolean)

还要检查JRViewerJasperViewer源代码,它们可能会派上用场。

10-05 23:24