2

以下に示すように、レポートを生成する必要があります。

ここに画像の説明を入力

詳細を入力するために、NetBeans で swing を使用して GUI を設計しました。

ここに画像の説明を入力

jFreeChart を使用して生成したプロット:

  JFreeChart chart = ChartFactory.createXYLineChart(
"Hysteresis Plot", // chart title
"Pounds(lb)", // domain axis label
"Movement(inch)", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
false, // include legend
true, // tooltips
false // urls
);

出力:

ここに画像の説明を入力

私はインターネットを検索していて、iTextまたはJasperReportsまたはDynamicReportsを使用できることを読みました(Jasper Reportに基づく)

http://www.dynamicreports.org/getting_started.html#step9

動的レポートを使用する方が簡単であることがわかりました。私の質問は、DynamicReports を自分の目的に使用できますか (サンプル レポートを見てはい)、はいの場合、jFreeChart をレポートにエクスポートする方法です。

このプロジェクトを完了するのにあまり時間がないので、助けてください。

ありがとう

4

1 に答える 1

1

JFreeChart の代わりに DynamicReports でグラフを直接作成できます。これを行うには、DynamicReports XYLineChartReport コンポーネントを使用します。http://www.dynamicreports.org/examples/xylinechartreport.htmlのサンプル コードを参照してください。

JFreeChart 出力を使用する場合は、チャートを画像にエクスポートし、次を使用してその画像をレポートに含めますcmp.image()

// Create the chart.
JFreeChart chart = ChartFactory.createXYLineChart(
    "Hysteresis Plot", // chart title
    "Pounds(lb)", // domain axis label
    "Movement(inch)", // range axis label
    dataset, // data
    PlotOrientation.VERTICAL, // orientation
    false, // include legend
    true, // tooltips
    false // urls
);

// Export the chart to an image.
BufferedImage image = chart.createBufferedImage( 300, 300);

report()
    .title(cmp.text("XYZ HOSPITAL"))
    .columns(fieldNameColumn, fieldValueColumn)
    .summary(
        cmp.verticalList()
            .add(cmp.text("HYSTERISIS PLOT"))
            .add(cmp.text("A brief description of what this plot signifies"))
            .add(cmp.image(image))  // Add the exported chart image to the report.
            .add(cmp.text("REMARKS"))
    )
    .setDataSource(createDataSource())
    .toPDF(outputStream);
于 2013-02-21T09:21:16.437 に答える