JasperReports では、レポート要素を配置するために常に絶対 x 座標と y 座標を設定します。たとえば、次の例では、x=70 から始まる白いテキスト フィールド「Hello World」を含む黒い四角形 ((0,0) の左上隅) をレンダリングします。
<rectangle>
<reportElement x="0" y="0" width="557" height="20" backcolor="#000000" />
<graphicElement fill="Solid">
<pen lineWidth="0"/>
</graphicElement>
</rectangle>
<textField>
<reportElement x="70" y="2" width="100" height="14" style="pageLayoutFont"/>
<textElement textAlignment="Left" verticalAlignment="Middle" />
<textFieldExpression class="java.lang.String">
<![CDATA["Hello World"]]>
</textFieldExpression>
</textField>
今、私は DynamicReports を使用して同じことを達成したいと考えています。次のように動作するはずです。
report().addDetail(
cmp.rectangle()
.setDimension(557, 20).setStyle(...),
cmp.text("Hello World").setStyle(...)
);
ただし、配置を決定する方法が見つかりません (上記の Java の例では、テキストは四角形内ではなく下にレンダリングされます。