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)
beforejaspecompilemanager.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)时调用的是code>,而不是实际报告的大小,这可能是他们在jrxml中指定的。哦,感谢您的宝贵建议,但我总是在每个报告中使用param.clear()(我的param是报告的对象)。