zk Chart 中文乱码问题解决

在ZK中报表是对jfreechart的改进,但是对中文的支持不好。有中文乱码.

eg:
 
        charView.setTitle("报表统计");
  

会出现乱码,解决方法如下:

1.添加类:
package cn.ffcs.cloud.zk.service;
import org.zkoss.zkex.zul.impl.JFreeChartEngine;
import org.zkoss.zul.Chart;
import java.awt.Font;

public class ChartEngine  extends JFreeChartEngine{
    public boolean prepareJFreeChart (org.jfree.chart.JFreeChart jfchart, Chart chart)
    {
        Font titleFont = new Font("宋体", Font.BOLD , 18);
        Font legendFont = new Font("黑体", Font.PLAIN ,12);
        Font axisFont = new Font("隶书", Font.PLAIN,12);

        jfchart.getTitle().setFont (titleFont);

        jfchart.getLegend().setItemFont (legendFont);
        jfchart.getLegend().setVisible (true);

        jfchart.getCategoryPlot().getDomainAxis().setTickLabelFont (axisFont);
        jfchart.getCategoryPlot().getRangeAxis().setTickLabelFont (axisFont);
        jfchart.getCategoryPlot().getDomainAxis().setLabelFont (axisFont);
        jfchart.getCategoryPlot().getRangeAxis().setLabelFont (axisFont);
        return false;
    }
}



2. Engine添加到Chart中
// 中文乱码问题解决
    charView.setEngine(new ChartEngine());
    charView.setTitle("报表统计");

你可能感兴趣的:(chart)