• activiti 5.17 流程图中文乱码问题


    1. 流程图中任务中的中文乱码显示问题。

     
    解决方法:设置processEngineConfiguration中的两个字体属性,例如:
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
         。。。
         <!-- 生成流程图的字体 -->

         <property name="activityFontName" value="宋体"/>
         <property name="labelFontName" value="宋体"/>

    </bean>
     
    2. 流程图中TextAnnotation中的中文乱码显示问题。
     
    此乱码产生的原因是,负责画流程图的类DefaultProcessDiagramCanvas 定义注解的字体了属性(为Arial):
    protected static Font ANNOTATION_FONT = new Font("Arial", Font.PLAIN, FONT_SIZE);
    然后再画流程图时,不知什么原因,在外部配置了的字体并没有使用,在代码中硬编码设置textAnnotation 字体为ANNOTATION_FONT ,导致出现中文乱码,外部配置也没用。见下面代码:
           public void drawTextAnnotation(String text, GraphicInfo graphicInfo) {
             int x = (int) graphicInfo.getX();
             int y = (int) graphicInfo.getY();
             int width = (int) graphicInfo.getWidth();
             int height = (int) graphicInfo.getHeight();
        
           Font originalFont = g.getFont();
           Stroke originalStroke = g.getStroke();
           
           g.setFont(ANNOTATION_FONT);

           ...
    解决方法:重新编译此模块,将默认字体改成宋体,或者注释掉设置字体代码。是否可以自定义DefaultProcessDiagramCanvas,通过扩展的方式来解决,目前我没有发现。
  • 相关阅读:
    Linux安装phpMywind
    CentOS7安装virtualbox
    MySQL3534
    DIV盒子介绍
    HTML选择器
    人脸检测
    openblas下载安装编译
    DeepLearning网络设计总结
    Linux命令替换字符串
    Y7000联想拯救者gtx1050Ti安装cuda9.0
  • 原文地址:https://www.cnblogs.com/yanzhenxing/p/4830569.html
Copyright © 2020-2023  润新知