如何制作和连接具有上传、设置页眉和页脚报告的Java swing程序

如何制作和连接具有上传、设置页眉和页脚报告的Java swing程序,java,swing,jasper-reports,Java,Swing,Jasper Reports,我正在用JavaSwing开发一个应用程序。我在应用程序中使用JasperReports和iReport 我已经成功地建立了JasperReports和数据库之间的连接,并加载了jrxml文件 我的问题是,在完成应用程序的开发之后,我希望应用程序的用户能够设置他们的徽标,可以更改他们的页眉和页脚。我可以这样做的一种方法是创建一个用户界面,它是一个JFrame,具有上载图像选项+更改报告的页眉和页脚。但如何将JFrame组件与JR报告连接起来,以便在JFrame组件中所做的更改能够反映在报告中 我

我正在用JavaSwing开发一个应用程序。我在应用程序中使用JasperReports和iReport

我已经成功地建立了JasperReports和数据库之间的连接,并加载了jrxml文件

我的问题是,在完成应用程序的开发之后,我希望应用程序的用户能够设置他们的徽标,可以更改他们的页眉和页脚。我可以这样做的一种方法是创建一个用户界面,它是一个JFrame,具有上载图像选项+更改报告的页眉和页脚。但如何将JFrame组件与JR报告连接起来,以便在JFrame组件中所做的更改能够反映在报告中


我假设“上传”的意思是将图像以特定路径保存在服务器计算机的硬盘中,然后将该路径保存在数据库中

  • 将上传的图像转换为

  • 将转换后的图像作为参数传递给jasperreport。(此处参数名为ENTITY_image)

  • 在iReport内部,创建一个参数。此参数的数据类型应为
    java.io.InputStream

  • 拖动图像。转到图像属性。在图像属性下,将表达式类的值更改为
    java.io.InputStream
    ,然后将图像表达式更改为$P{ENTITY_image}


  • 你的问题不是很清楚。如何在报告中设置图像(即硬编码路径、将图像字节作为参数传入等)?您将客户选择的上传图像存储在何处?是的,但存储到何处?它是否在你的数据库中,是否在某个文件服务器上?因此,您是在服务器上生成报告并将其发送给客户端,还是在客户端生成报告?是的,我正在数据库中保存徽标,它是客户端应用程序,而不是客户端服务器应用程序。我正在等待您的reply@ZaheerBoovaji例如,您可以使用JasperReports API或DynamicJasper API
    String imgPath = "[path_of_uploaded_image_here]";
    BufferedImage image = ImageIO.read(new File(imgPath));
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    ImageIO.write(image, "gif", os);
    InputStream is = new ByteArrayInputStream(os.toByteArray());