jfreechart中文乱码解决办法总结
2015-07-28 09:30
267 查看
freechart组件操作平台各种因素很可能导致中文乱码了,下面我来给大家总结一下关于jfreechart中文乱码解决方法。
由于JFreeChart组件的版本、操作平台、JDK的设置等因素,在使用JFreeChart组件时可能会出现中文乱码的现象。
遇到此问题时,可通过设置文字的字体来解决问题。
下面提供一种个人觉得比较好的解决方案:
这样,可以解决绝大部分图表中中文乱码的问题。
补充一个解决中文乱码函数
由于JFreeChart组件的版本、操作平台、JDK的设置等因素,在使用JFreeChart组件时可能会出现中文乱码的现象。
遇到此问题时,可通过设置文字的字体来解决问题。
下面提供一种个人觉得比较好的解决方案:
//创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN"); //设置标题字体 standardChartTheme.setExtraLargeFont(new Font("黑体",Font.BOLD,20)); //设置图例的字体 standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15)); //设置轴向的字体 standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15)); //应用主题样式 ChartFactory.setChartTheme(standardChartTheme);
这样,可以解决绝大部分图表中中文乱码的问题。
补充一个解决中文乱码函数
CategoryDataset dataset = getDataSet2(); JFreeChart chart = ChartFactory.createBarChart3D("", // 图表标题 "", // 目录轴的显示标签 "", // 数值轴的显示标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true, // 是否显示图例(对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成URL链接 ); //设置字体 configFont(chart); //字体配置方法(解决中文问题) private static 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); }
相关文章推荐
- Java对数组的复制
- jquery 操作各种元素
- HDUOj 看病要排队 优先队列的使用 题目1873
- js中我定义一个var变量,在页面想显示出来,用什么东西显示比较好,var比较长还有空格
- 差分约束 [1](poj 3159)(简单)
- 转 iOS项目的完整重命名方法图文教程
- poj 2349 Arctic Network
- 10个MySQL性能调优的方法
- LeetCode OJ 之 Different Ways to Add Parentheses(增加括号的不同方法)
- 阮一峰 模块化编程--好文
- [C++学习笔记]--类和对象(1)
- 最近使用openfire进行聊天通信的搭建,转载一些文章
- js 倒计时
- 我的Java开发学习之旅------>Base64的编码思想以及Java实现
- String.valueOf() toString() i+"" 效率
- C/C++中的void 和 void *
- xstart下远程报错"已拒绝X11转移申请"的解决方法
- Mariadb开源数据库
- C语言中,struct与union的区别
- Visual Studio 2015速递(3)——ASP.NET 新特性