我正在使用NetBeans 8.0.2。我已经使用iReport 5.6.0创建了报告。在设计完成之后,我将它移入NetBeans中的现有Java应用程序项目,并将其转移到名为报告的新文件夹中。显示来自jFrame的报告由jButton单击事件
我的jFrame文件reportform.java在应用程序文件夹下的同一项目中。我希望通过点击jFrame上的按钮来显示/预览我已经创建的报告。reportform.java。我的报告在同一个项目中工作/显示正常。
我正在使用NetBeans 8.0.2。我已经使用iReport 5.6.0创建了报告。在设计完成之后,我将它移入NetBeans中的现有Java应用程序项目,并将其转移到名为报告的新文件夹中。显示来自jFrame的报告由jButton单击事件
我的jFrame文件reportform.java在应用程序文件夹下的同一项目中。我希望通过点击jFrame上的按钮来显示/预览我已经创建的报告。reportform.java。我的报告在同一个项目中工作/显示正常。
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");
您想使用JasperReports library
。所有的教程和其他参考资料可以在Jaspersoft社区找到:JasperReports library - First Steps。
当使用Swing应用程序内部的报告,这可能帮助:
如果你需要显示一个Swing应用程序内的报告,您可以使用附带的库和包括的JRViewer组件一个可嵌入和可配置的javax.swing.JPanel组件。
我指的是贾斯珀报告(iReport5.6.0) –