我想用Jasper在JavaFX
上创建报告。我将数据从MySql
导出到Jasper报告中,一切正常。我将Jasper Reports 6.2.0库导入到Netbeans 8.2
上的项目库中。当我想创建一个方法(在我的情况下为showReport()
)并单击一个按钮时打开Jasper File时,它显示错误cnnot在compileReport()
方法和fillReport()方法上找不到符号。
这也是代码的图片!! enter image description here ?
代码在这里:
public void showReport(){
try{
JasperReport jasperReport = new JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper");
JasperPrint jasperPrint = new JasperFillManager.fillReport(jasperReport,null,connection);
JRViewer viewer = new JRViewer(jasperPrint);
viewer.setOpaque(true);
viewer.setVisible(true);
this.add(viewer);
this.setSize(900,500);
this.setVisible(true);
}catch(Exception e){
System.out.println( e.getMessage());
}
};
答案 0 :(得分:2)
JasperCompileManager.compileReport
和JasperFillManager.fillReport
是static
方法。
您在分配右侧使用的语法
new JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper")
new JasperFillManager.fillReport(jasperReport,null,connection)
告诉编译器分别调用static
中的compileReport
内部类JasperCompileManager
和fillReport
中的JasperFillManager
的构造函数。 (或者也可以选择fillReport
包中的JasperCompileManager
类和fillReport
包中的JasperFillManager
的构造函数。)但是这些类不存在,因此您可以得到编译时错误。您需要删除这些new
关键字:
JasperReport jasperReport = JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,connection);