zk Chart中国語文字化けし問題解決

1503 ワード

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.ChartにEngineを追加

//  
    charView.setEngine(new ChartEngine());
    charView.setTitle(" ");