JasperReport report = JasperCompileManager.compileReport("sample.jrxml");
report.getTitle().getElementByKey("target1").setForecolor(Color.red);
この場合のjrxmlファイル記述例
<title>
<band height="10">
<staticText>
<reportElement x="0" y="0" width="100" height="20" key="target1"/>
<textElement/>
<text><![CDATA[Hello, World!]]></text>
</staticText>
</band>
</title>
ただしdetailセクションの繰り返し項目については、この方法だと任意の項目だけフォントを変更することができない。これにはパターンの数だけフォントを定義しておき、条件により使い分けることで対応できる。
この場合のjrxmlファイル記述例
<detail>
<band height="20">
<textField>
<reportElement x="0" y="0" width="20" height="20" forecolor="#000000">
<printWhenExpression><![CDATA[new Boolean($F{color}.equals("black"))]]></printWhenExpression>
</reportElement>
<textElement />
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="20" height="20" forecolor="#ff0000">
<printWhenExpression><![CDATA[new Boolean($F{color}.equals("red"))]]></printWhenExpression>
</reportElement>
<textElement><font fontName="Arial"/></textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</band>
</detail>