我在iReport中设计了我的项目,并且我已成功编译。现在我想添加已编译的jasper文件以添加到我的java项目中。愿任何人帮助我吗?
答案 0 :(得分:0)
只需将它们添加到源树中的某个包中即可。您的构建过程或IDE应将它们与您的类一起复制到您的classes目录或生成的jar文件中。然后,报告可能会加载Class.getResource()
或Class.getResourceAsStream()
。
答案 1 :(得分:0)
以下是从两个组合框中获取两个值所需的代码,将它们添加到HashMap并将地图传递给iReport。这个参数(例如“ storeName ”和“ actionCode ”)用于指定存储在iReport中的查询的值。报告jasper文件是“ ../ ireps / AccessCounter.jrxml ”。观众是一个JDialog。如果没有要传递给报表的参数,请跳过map.put。 con是与数据库的连接。
确保在路径中包含必要的jar文件。
try {
String shopName = jComboBox1.getSelectedItem().toString();
String actionCode = jComboBox2.getSelectedItem().toString();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("storeName", shopName);
map.put("actionCode", actionCode);
URL reportFileURL = getClass().getResource("../ireps/AccessCounter.jrxml");
File reportFile = new File(reportFileURL.toURI());
JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, con);
JasperViewer jv = new JasperViewer(jasperPrint);
JDialog viewer = new JDialog(this, "Batch Report", true);
viewer.setBounds(jv.getBounds());
viewer.getContentPane().add(jv.getContentPane());
viewer.setResizable(true);
viewer.setIconImage(jv.getIconImage());
viewer.setVisible(true);
} catch (JRException exc) {
System.out.println(exc.getMessage());
} catch (URISyntaxException exs) {
System.out.println(exs.getMessage());
}