gpt4 book ai didi

java - 如何将 iReport 字体更改为参数

转载 作者:行者123 更新时间:2023-11-30 11:34:29 25 4
gpt4 key购买 nike

我有一个应用程序可以生成带有自定义字体样式的报告,例如字体系列、颜色、大小和样式(粗体、斜体、下划线)。我使用 Windows 系统的所有字体系列。

我尝试在 .jrxml 文件中使用参数。像这样:
<parameter name="fontFamily" class="java.awt.Font"/>

在正文中:

<staticText>
<reportElement uuid="3c9d8704-dbae-49ed-9787-477ff5b8742f" x="4" y="4" width="241" height="15" forecolor="#FFFFFF"/>
<textElement verticalAlignment="Middle">
<font fontName="$P{fontFamily}" size="11" isBold="true"/>
</textElement>

<text><![CDATA[Hasil Pemeriksaan PROCEDURE]]></text>
</staticText>

当我在 iReport 中预览时,它会记录错误:

Error filling print... Font '$P{fontFamily}' is not available to the JVM. See the Javadoc for more details. 
java.lang.NoSuchMethodException: java.awt.Font.<init>(java.lang.String)      
at java.lang.Class.getConstructor0(Class.java:2730)      
at java.lang.Class.getConstructor(Class.java:1676)      
at com.jaspersoft.ireport.designer.compiler.prompt.Prompter$1.run(Prompter.java:278)      
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)      
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)      
at java.awt.EventQueue.access$200(EventQueue.java:103)      
at java.awt.EventQueue$3.run(EventQueue.java:688)      
at java.awt.EventQueue$3.run(EventQueue.java:686)      
at java.security.AccessController.doPrivileged(Native Method)      
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)      
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)      
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)      
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)      
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)      
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)      
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)      
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)      
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 

请帮助我,先谢谢你:)

最佳答案

设置以下属性

Markup : html
Text field expression : "<font face='" + $P{fontName} + "'>" + $F{field1} + "</font>"

在将 $P{fontName} 的值设置为 MonospacedSansSerif 后,我可以看到差异。

关于java - 如何将 iReport 字体更改为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15629745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com