最近刚刚学习jfreeChart,照着书上弄了下,可是中文的部分老是显示为一个个的方框,郁闷了好久,由于我和书上作的如出一辙,可是就是显示不出中文,后来在网上看到,不少人说这是因为jfreeChart的版本缘由形成的,早期的版本能够正常显示中文,我用的是jfreeChart 1.0.13,由于嫌麻烦,我又不想再去找之前的版本,因而继续在网上搜索,终于在网络中各位高人的指点之下,基本上解决了这个问题,如今贴出来和你们分享下。你们只须要在程序中添加以下代码就能够了,细心的读者应该能够发现,究其根本,就是一个设置字体的问题。我以为应该有一个终极的解决办法的,可是由于对java和jfreeChart都不是很熟,因此没弄出来,若是有哪位大侠知道,请不吝赐教!java
1.柱状图网络
jFreeChart.getTitle().setFont(new Font("隶书", Font.ITALIC, 15));//设置标题
//设置图例类别字体
jFreeChart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
jFreeChart.setBackgroundPaint(Color.WHITE);
CategoryPlot categoryPlot=jFreeChart.getCategoryPlot();//用于设置显示特性
categoryPlot.setBackgroundPaint(Color.WHITE);
categoryPlot.setDomainGridlinePaint(Color.BLACK);//分类轴网格线条颜色
categoryPlot.setDomainGridlinesVisible(true);
categoryPlot.setRangeGridlinePaint(Color.GREEN);//数据轴网格线条颜色
CategoryAxis domainAxis=categoryPlot.getDomainAxis(); //水平底部列表
domainAxis.setLabelFont(new Font("黑体",Font.BOLD,14)); //水平底部标题
domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12)); //垂直标题
ValueAxis rangeAxis=categoryPlot.getRangeAxis();//获取柱状
rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15)); //设置柱状标题dom
2.折线图学习
Font titleFont=new Font("隶书", Font.ITALIC, 18);
Font font=new Font("宋体",Font.BOLD,12);
Font legendFont=new Font("宋体", Font.BOLD, 15);
jFreeChart.getTitle().setFont(titleFont);
jFreeChart.getLegend().setItemFont(legendFont);
CategoryPlot plot=jFreeChart.getCategoryPlot();
plot.getDomainAxis().setLabelFont(font);
plot.getDomainAxis().setTickLabelFont(font);
plot.getRangeAxis().setLabelFont(font);字体
3.饼状图spa
Font titleFont=new Font("隶书", Font.ITALIC, 18);
Font font=new Font("宋体",Font.BOLD,12);
Font legendFont=new Font("宋体", Font.BOLD, 15);
jFreeChart.getTitle().setFont(titleFont);
jFreeChart.getLegend().setItemFont(legendFont);
PiePlot plot=(PiePlot)jFreeChart.getPlot();
plot.setLabelFont(font);code