这是我的代码
static Connection connHealthInfoSystem = DBConnection.conn("health_info_system");
public static void printDisplayable(String reportPath, Map parameter) {
JasperDesign jd;
try {
jd = JRXmlLoader.load(reportPath);
JasperReport jr = JasperCompileManager.compileReport(jd);
JasperPrint jp = JasperFillManager.fillReport(jr, parameter, connHealthInfoSystem);
JasperViewer.viewReport(jp, false);
} catch (JRException ex) {
Logger.getLogger(JasperPrinting.class.getName()).log(Level.SEVERE, null, ex);
}
}
根据我当前拥有的代码,如何在弹出报告时增加报告宽度的大小?
答案 0 :(得分:1)
在jd.setPageWidth(999);
之前尝试JasperCompileManager.compileReport(jd);
答案 1 :(得分:1)
不要使用静态方法JasperViewer.viewReport(jp, false);
,因为这样您就无法控制JasperViewer
对象,而是实例化自己的JasperViewer
JasperViewer viewer = new JasperViewer(jp, false);
JasperViewer
扩展了JFrame
,因此您可以像设置任何JFrame
一样设置大小和位置,只需记住在完成操作后将其设置为可见即可。
示例
JasperViewer viewer = new JasperViewer(jp, false);
viewer.setLocationRelativeTo(null); //You can set location
viewer.setSize(new Dimension(1000,600)); //You can set size or you set preferredSize and the pack it.
viewer.setVisible(true); //When you are ready, you set the frame to be visibile
答案 2 :(得分:-1)
我从没有使用过它,但是如果您只看代码,则硬编码的是"health_info_system"
,所以我想您可以使用一些资源文件夹并获取它mby ..或只是使其成为常量。
private static final String HEALTH_INFO_SYSTEM_DB = "health_info_system";