jfreechart中文乱码问题一直困扰很多的朋友,我学习得时候也一样,下面几段代码可以用来解决这个问题。
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("宋体", Font.BOLD, 20));
LegendTitle legend = chart.getLegend();
if (legend != null) {
legend.setItemFont(new Font("宋体", Font.BOLD, 20));
}
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis domainAxis = plot.getDomainAxis();// (柱状图的x轴)
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴坐标上的字体
domainAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴上的标题的字体
ValueAxis valueAxis = plot.getRangeAxis();// (柱状图的y轴)
valueAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的字体
valueAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的标题的字体
下面一段也是同样的效果
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("宋体", Font.BOLD, 20));
LegendTitle legend = chart.getLegend();
if (legend != null) {
legend.setItemFont(new Font("宋体", Font.BOLD, 20));
}
XYPlot xyplot = (XYPlot) chart.getPlot(); // 获得 plot : XYPlot!!
ValueAxis domainAxis = xyplot.getDomainAxis();
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴坐标上的字体
domainAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置x轴坐标上的标题的字体
ValueAxis rangeAxis = xyplot.getRangeAxis();
rangeAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的字体
rangeAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// 设置y轴坐标上的标题的字体