如何增加JasperViewer的宽度或高度(硬编码)?

时间:2018-08-15 23:59:05

标签: java swing jasper-reports

这是我的代码

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);
    }
}

根据我当前拥有的代码,如何在弹出报告时增加报告宽度的大小?

3 个答案:

答案 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";