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

Java 如何增加JasperViewer(硬编码)的宽度或高度?,java,swing,jasper-reports,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); JasperR

这是我的密码

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

根据我现有的代码,当我的报告弹出时,我如何增加它的宽度?

我从来没有使用过这种方法,但是如果你看一下代码,唯一硬编码的是“健康信息系统”,所以我想你可以使用一些资源文件夹,并通过mby获取它。。或者让它成为一个常数

private static final String HEALTH_INFO_SYSTEM_DB = "health_info_system";

尝试
jd.setPageWidth(999)
before
jaspecompilemanager.compileReport(jd)

不要使用静态方法
JasperViewer.viewReport(jp,false),因为这样您就不能控制
JasperViewer
对象,而是可以实例自己的
JasperViewer

JasperViewer viewer = new JasperViewer(jp, false);
扩展,以便您可以为任何
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

该代码仅用于打开连接,我希望调整与连接无关的报告宽度。@Kebabkraby您的答案与问题的关联性如何?您可以在此处找到答案:,据我所知,OP希望增加“弹出”框的大小当
JasperViewer.viewReport(jp,false)时,而不是实际报告的大小,这可能是他们在jrxml中指定的。哦,感谢您的宝贵建议,但我总是在每个报告中使用param.clear()(我的param是报告的对象)。