Java JasperReports 6.0.3:JRDesignTextField.setFont和JasperDesign.getFontsMap已被弃用并删除
我正在尝试将JasperReport的JRDesignTextField对象的字体设置为JasperDesign的getFontMap()中的字体,如下所示:Java JasperReports 6.0.3:JRDesignTextField.setFont和JasperDesign.getFontsMap已被弃用并删除,java,jasper-reports,deprecated,Java,Jasper Reports,Deprecated,我正在尝试将JasperReport的JRDesignTextField对象的字体设置为JasperDesign的getFontMap()中的字体,如下所示: JRDesignTextField text; // I have this object JasperDesign jasperDesign; //I have this object from a master jrxml template text.setFont((JRFont)jasperDesign.getFontsMap()
JRDesignTextField text; // I have this object
JasperDesign jasperDesign; //I have this object from a master jrxml template
text.setFont((JRFont)jasperDesign.getFontsMap().get("ColumnHeadingFont"));
升级到JasperReports 6.0.3、在JRDesignTextField上设置字体以及从JasperDesign获取FontMap都标记为“已弃用”。
在深入研究之后,我做了一些变通,以适应我不确定是否正确的代码:
JRDesignTextField text; // I have this object
JasperDesign jasperDesign; //I have this object
text.setFontName("ColumnHeadingFont");
List<JRStyle> stylesList = jasperDesign.getStylesList();
for(JRStyle st : stylesList){
if("ColumnHeadingFont".equals(st.getFontName()))
{
text.setFontSize(st.getFontsize());
break;
}
}
JRDesignTextField text;//我有这个东西
茉莉花设计//我有这个东西
text.setFontName(“ColumnHeadingFont”);
List stylesList=jasperDesign.getStylesList();
for(JRStyle st:stylesList){
如果(“ColumnHeadingFont”.equals(st.getFontName()))
{
setFontSize(st.getFontsize());
打破
}
}
因此,问题分为两个方面:
- 从JasperDesign对象获取FontMap
- 在JRDesignTextField(我将从FontMap获得)上设置字体
我为这个问题提出的方法正确吗?如果有更好的方法,那么我提出的解决方案是可行的。。。从主模板获取样式详细信息(字体大小),并将其用于设计新模板的文本字段。代码如下:
JRDesignTextField text; // This text field is from the new jasper report file
JasperDesign jasperDesign; //This is from master template that has all info
text.setFontName("ColumnHeadingFont");
List<JRStyle> stylesList = jasperDesign.getStylesList();
for(JRStyle st : stylesList){
if("ColumnHeadingFont".equals(st.getFontName()))
{
text.setFontSize(st.getFontsize());
break;
}
}
JRDesignTextField text;//此文本字段来自新的jasper报告文件
茉莉花设计//这是来自主模板的所有信息
text.setFontName(“ColumnHeadingFont”);
List stylesList=jasperDesign.getStylesList();
for(JRStyle st:stylesList){
如果(“ColumnHeadingFont”.equals(st.getFontName()))
{
setFontSize(st.getFontsize());
打破
}
}