2016-06-28 34 views
-2

我正在使用NetBeans 8.0.2。我已经使用iReport 5.6.0创建了报告。在设计完成之后,我将它移入NetBeans中的现有Java应用程序项目,并将其转移到名为报告的新文件夹中。显示来自jFrame的报告由jButton单击事件

我的jFrame文件reportform.java应用程序文件夹下的同一项目中。我希望通过点击jFrame上的按钮来显示/预览我已经创建的报告。reportform.java。我的报告在同一个项目中工作/显示正常。

+0

我指的是贾斯珀报告(iReport5.6.0) –

回答

0
  String sfilename="report"; 
    String path = "appname/" + sfilename + ".jasper"; 
    String imgp=("images"); 

    InputStream reportName = this.getClass().getClassLoader().getResourceAsStream(path); 

    HashMap param = new HashMap(); 
    param.put("param1","value1"); 
    param.put("param2","value2"); 
    param.put("imgpath",imgp); 
    param.put("SUBREPORT_DIR", "appname/"); 

    try { 
     JasperPrint jp = JasperFillManager.fillReport(reportName, param, conn); 

     net.sf.jasperreports.swing.JRViewer jv = new net.sf.jasperreports.swing.JRViewer(jp); 

//Insert viewer to a JFrame to make it showable 
     JFrame jf = new JFrame(); 
     jf.getContentPane().add(jv); 
     jf.validate(); 
     jf.setVisible(true); 
     jf.setSize(new Dimension(800,600)); 
     jf.setLocation(300,100); 
     jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     jf.setTitle("JASPER REPORT"); 
1

您想使用JasperReports library。所有的教程和其他参考资料可以在Jaspersoft社区找到:JasperReports library - First Steps

当使用Swing应用程序内部的报告,这可能帮助:

如果你需要显示一个Swing应用程序内的报告,您可以使用附带的库和包括的JRViewer组件一个可嵌入和可配置的javax.swing.JPanel组件。