如何使用JasperReports API显示报告

时间:2012-02-27 06:10:16

标签: java jasper-reports

我正在使用NetBeans 7并开发java数据库应用程序。出于报告目的,我在iReport 4中安装了NetBeans 7插件,并设计了我的应用程序的非常简单的报告。如何通过按钮调用来调用报告。

此问题的几天后我所做的是:

我下载了JAR文件并将其添加到Netbeans之后我在按钮中进行了以下编码,但是当我点击按钮时它会出现此错误:

'Exception in thread "AWT-EventQueue-0"     java.lang.Error:'java.lang.reflect.InvocationTargetException'

这是我在点击按钮事件时所做的代码:

try {
    String reportName = "prisonersdbv1/reports/newReport.jasper";
    InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/APD", "root", "khan");
    JasperPrint jasperPrint = JasperFillManager.fillReport(is, new HashMap(), conn);
    JasperViewer jv = new JasperViewer(jasperPrint);
    jv.setVisible(true);
} catch (JRException ex) {
    Logger.getLogger(PrisonersDBv1View.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
    Logger.getLogger(PrisonersDBv1View.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
    Logger.getLogger(PrisonersDBv1View.class.getName()).log(Level.SEVERE, null, ex)
}

1 个答案:

答案 0 :(得分:0)

要在JasperReports API的帮助下查看报告,您可以使用 net.sf.jasperreports.view.JasperViewer 类。

使用样本:

JasperViewer.viewReport("sampleReport.jrprint", false, true, locale); 

您可以在JasperViewer分发包中的$jasperreports$\demo\samples\i18n文件夹中找到使用 JasperReports 的完整示例。