0

Java Swingでアプリケーションを開発しています。アプリケーションでJasperReportsiReportを使用しています。

JasperReportsとデータベース間の接続に成功し、 jrxmlファイルもロードしました。

私の質問は、アプリケーションの開発が完了した後、アプリケーションのユーザーがロゴを設定し、ヘッダーとフッターを変更できるようにしたいということです。これを行う1つの方法は、画像のアップロードオプションを備えたJFrameであるユーザーインターフェイスを作成し、レポートのヘッダーとフッターを変更することです。しかし、JFrame のコンポーネントに加えられた変更がレポートに反映されるように、JFrame コンポーネントを JR レポートに接続するにはどうすれよいでしょ

これは、選択したいフレームです。または、これに加えられた変更は Jasper Report に反映されます。

4

1 に答える 1

0

「アップロード」の意味は、サーバー コンピューターのハード ディスクの特定のパスにイメージを保存し、このパスをデータベースに保存することであると想定しています。

  1. アップロードされた画像をInputStreamに変換します

    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());
    
  2. 変換された画像をパラメーターとして jasperreport に渡します。(ここでのパラメーター名は ENTITY_IMAGE です)

  3. iReport 内で、パラメーターを作成します。このパラメータのデータ型はjava.io.InputStream

  4. 画像をドラッグします。画像のプロパティに移動します。画像のプロパティで、式クラスの値を変更しjava.io.InputStream、画像式を $P{ENTITY_IMAGE} に変更します。

于 2012-12-11T06:45:27.920 に答える