これはもっと一般的な問題だと思います。動的データを取得し、指定された最大高さを超えて伸びないテキストフィールドを使用したいと思います。たとえば、1行に収まるテキストを取得した場合、テキストフィールドは1行の高さになり、その下に他の要素があり、フロート位置で上に移動するテキストフィールドがあります。または、最大 3 行の高さが必要で、テキストがそのスペースを超える場合、残りはトリミングされます。常に正確であるとは限らないため、Java 式を使用してそのテキストをトリミングしたくありません。私はジャスパーが初めてで、これを行う方法があるかどうかを知りたいと思っています。私はたくさんの検索を行いましたが、見逃したものがあるかもしれません。誰かが私を助けてくれることを願っています. ありがとうございました
質問する
1745 次
2 に答える
0
net.sf.jasperreports.engine.fill.TextMeasurer を拡張し、initialize() メソッドをオーバーライドすることで、これを解決できました。また、net.sf.jasperreports.engine.util.AbstractTextMeasurerFactory を拡張し、createMeasurer() メソッドをオーバーライドする必要がありました。ここで、オーバーフローなしで行数を最大にしたいときはいつでも、カスタム TextMeasurerFactory に渡されるテキスト フィールド (maxLines など) にプロパティを追加します。これがお役に立てば幸いです。
于 2015-05-11T15:13:25.173 に答える