Java 根据JasperReports中的条件更改文本字段数据颜色(前景色)

Java 根据JasperReports中的条件更改文本字段数据颜色(前景色),java,jasper-reports,ireport,jdeveloper,Java,Jasper Reports,Ireport,Jdeveloper,我对JasperReports不熟悉。我正在使用iReport设计报告。我有三个值x,y,z。如果zx,则z的数据颜色应更改为“红色”。 请告诉我怎么做 我正在使用JDeveloper开发桌面应用程序。和i报告设计JasperReport。您可以使用它来解决此问题 样本: <style name="ZFieldStyle"> <conditionalStyle> <conditionExpression><![CDATA[$F{Z

我对JasperReports不熟悉。我正在使用iReport设计报告。我有三个值x,y,z。如果zx,则z的数据颜色应更改为“红色”。 请告诉我怎么做

我正在使用JDeveloper开发桌面应用程序。和i报告设计JasperReport。

您可以使用它来解决此问题

样本:

<style name="ZFieldStyle">
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z} < $F{Y}]]></conditionExpression>
        <style forecolor="#000000"/>
    </conditionalStyle>
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z}>$F{X}]]></conditionExpression>
        <style forecolor="#FF0000"/>
    </conditionalStyle>
</style>
...
<field name="X" class="java.lang.Integer"/>
<field name="Y" class="java.lang.Integer"/>
<field name="Z" class="java.lang.Integer"/>
...
<textField>
    <reportElement style="ZFieldStyle" x="200" y="0" width="100" height="20"/>
    <textElement/>
    <textFieldExpression><![CDATA[$F{Z}]]></textFieldExpression>
</textField>

$F{X}]>
...
...

还有几个问题。为什么我不能做同样的背景色?而且,当我这样做时,单元格边框颜色也会改变。。。有什么方法可以防止这种情况发生吗?您可以在样式表中使用backcolor属性作为另一种解决方案: