Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JasperReports 6.0.3:JRDesignTextField.setFont和JasperDesign.getFontsMap已被弃用并删除_Java_Jasper Reports_Deprecated - Fatal编程技术网

Java JasperReports 6.0.3:JRDesignTextField.setFont和JasperDesign.getFontsMap已被弃用并删除

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()

我正在尝试将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().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());
打破
}
}