Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2565429
  • 博文数量: 320
  • 博客积分: 9650
  • 博客等级: 中将
  • 技术积分: 3886
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 21:05
文章分类

全部博文(320)

文章存档

2024年(1)

2017年(5)

2016年(10)

2015年(3)

2014年(3)

2013年(10)

2012年(26)

2011年(67)

2010年(186)

2009年(9)

分类: Java

2010-05-29 15:10:30

最近刚使用JFreeChart 完成项目的图片导出任务,中文乱码问题整了一个下午,才搞定。

以下是我的解决方法,如何有更好的,请指教.乱码是由于版本问题,在v1.0.11以后会出现此问题,具体作了哪些修改没有深入研究,还望各位告知!

     /**
     * 配置字体
     * @param chart JFreeChart 对象
     */
    private void configFont(JFreeChart chart){
     // 配置字体
     Font xfont = new Font("宋体",Font.PLAIN,12) ;// X轴
     Font yfont = new Font("宋体",Font.PLAIN,12) ;// Y轴
     Font kfont = new Font("宋体",Font.PLAIN,12) ;// 底部
     Font titleFont = new Font("隶书", Font.BOLD , 25) ; // 图片标题
     CategoryPlot plot = chart.getCategoryPlot();// 图形的绘制结构对象
     
     // 图片标题
     chart.setTitle(new TextTitle(chart.getTitle().getText(),titleFont));
     
     // 底部
     chart.getLegend().setItemFont(kfont);
     
     // X 轴
     CategoryAxis domainAxis = plot.getDomainAxis();  
        domainAxis.setLabelFont(xfont);// 轴标题
        domainAxis.setTickLabelFont(xfont);// 轴数值 
        domainAxis.setTickLabelPaint(Color.BLUE) ; // 字体颜色
        domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的label斜显示
       
     // Y 轴
     ValueAxis rangeAxis = plot.getRangeAxis();  
        rangeAxis.setLabelFont(yfont);
        rangeAxis.setLabelPaint(Color.BLUE) ; // 字体颜色
        rangeAxis.setTickLabelFont(yfont); 
       
    }
 
阅读(2685) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~