JFreeChart的Swing图形例子(饼图)

来源:互联网 发布:冰雅蝶雪恋 知乎 编辑:程序博客网 时间:2024/05/22 03:34



代码:

package com.yw.test;

//http://www.jfree.org/jfreechart/index.html
import java.awt.Font;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class JFreeChartTest {
    public static void main(String[] args) {
          
           DefaultPieDataset dataSet = new DefaultPieDataset();

           dataSet.setValue("笔记本", 25);
           dataSet.setValue("鼠标", 25);
           dataSet.setValue("键盘", 45);
           dataSet.setValue("显示器", 10);

           JFreeChart chart = ChartFactory.createPieChart("公司销售情况表", (PieDataset)dataSet, true, true, true);
          
           Font ftt = new Font("黑体", Font.BOLD, 40);
           Font ft = new Font("SimSun", 30, 30);//宋体

           LegendTitle legend = null;
           TextTitle txtTitle = null;
           PiePlot categoryplot = null;

           legend = chart.getLegend();
           txtTitle = chart.getTitle();
           categoryplot = (PiePlot) chart.getPlot();

           txtTitle.setFont(ftt); // 设置标题字体
           categoryplot.setLabelFont(ft);// 设置图片上固定指示文字字体
           legend.setItemFont(ft);// 设置图例字体

           ChartFrame chartFrame = new ChartFrame("某公司销售结构图", chart);
           chartFrame.pack();
           chartFrame.setVisible(true);

          }
}