zoukankan      html  css  js  c++  java
  • 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,通过扩展的方式来解决,目前我没有发现。
  • 相关阅读:
    RxJava简要分析
    okHttp3源码简要分析
    Android 内存优化浅析
    用暴走漫画写使用手册
    简单的JavaScript互斥锁
    为jQuery添加Webkit的触摸方法支持
    去年做了什么?OA。
    简单地总结下双十一对“老婆”的评价
    麦当劳送薯条活动坑薯条设想,实践被失败
    用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信
  • 原文地址:https://www.cnblogs.com/yanzhenxing/p/4830569.html
Copyright © 2011-2022 走看看