在我的javafx应用程序中,我使用的是 DynamicReports ,它是免费的开源Java报告工具。在我的按钮事件的代码中,我正在调用一个方法来显示报告:
report1.setOnAction(event -> {
getSupplierListReport();
}
);
这是方法:
public void getSupplierListReport()
{
report = DynamicReports.report();
try {
//show the report
report
.columns(
Columns.reportRowNumberColumn("No"),
Columns.column("First Name", "f_name", DataTypes.stringType()),
Columns.column("Last Name", "l_name", DataTypes.stringType()),
Columns.column("Email", "email", DataTypes.stringType())
)
.title(//title of the report
Components.text("Supplier List Report")
.setHorizontalAlignment(HorizontalAlignment.CENTER).setStyle(boldCenteredStyle))
.pageFooter(Components.pageXofY().setStyle(boldCenteredStyle))//show page number on the page footer
.highlightDetailEvenRows()
.setColumnTitleStyle(columnTitleStyle)
.setDataSource("SELECT f_name, l_name, email FROM suppliers", connection)
.show();
//export the report to a pdf file
report.toPdf(new FileOutputStream("d:/report.pdf"));
} catch (DRException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
报告正确生成且没有错误。想一想,当我关闭主窗口时,报告窗口不会变冷,这是好的,但每当我关闭报告窗口时,它关闭整个应用程序!可能以某种方式动态报告工具关闭功能触发关闭整个应用程序。如何克服这个问题?
答案 0 :(得分:0)
似乎如果我在show方法中传递参数false,它将不会关闭应用程序。
.show(false);