在ZK中报表是对jfreechart的改进,但是对中文的支持不好。有中文乱码.
eg:
会出现乱码,解决方法如下:
[color=red]1.添加类:[/color]
[color=red]2. Engine添加到Chart中[/color]
eg:
charView.setTitle("报表统计");
会出现乱码,解决方法如下:
[color=red]1.添加类:[/color]
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;
}
}
[color=red]2. Engine添加到Chart中[/color]
// 中文乱码问题解决
charView.setEngine(new ChartEngine());
charView.setTitle("报表统计");