⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piechart.java

📁 上网计费系统,适用网吧或者自己学习用用JAVA写成
💻 JAVA
字号:
package com.briup.chart;

import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;

import com.briup.dao.bean.Businessmonth;
import com.briup.dao.bean.Businessyear;

public class PieChart {
	public void createChart(OutputStream os, List pieValues, String title,
			int width, int height, String type) throws IOException {
		DefaultPieDataset data = getDataSet(pieValues, type);
		JFreeChart chart = ChartFactory.createPieChart3D("", // 图表标题
				data, true, // 是否显示图例
				false, false);
		TextTitle subtitle = new TextTitle(title, new Font("宋体", Font.BOLD, 20));
		chart.addSubtitle(subtitle);
		chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000,
				Color.blue));
		ChartUtilities.writeChartAsJPEG(os, 1.0f, chart, width, height,
				new ChartRenderingInfo());
	}

	private DefaultPieDataset getDataSet(List pieValues, String type) {
		DefaultPieDataset dataset = new DefaultPieDataset();
		Iterator iter = pieValues.iterator();
		if (type.equals("Businessmonth")) {
			while (iter.hasNext()) {
				Businessmonth bmonth = (Businessmonth) iter.next();
				dataset.setValue(bmonth.getProductName(), bmonth.getSumfee());
			}
		} else if (type.equals("Businessyear")) {
			while (iter.hasNext()) {
				Businessyear byear = (Businessyear) iter.next();
				dataset.setValue(byear.getProductName(), byear.getSumfee());
			}
		}
		return dataset;
	}
	/*
	 * public static void main(String[] args) { List list =new ArrayList();
	 * for(int i=0;i<5;i++){ PieValue pieValue=new PieValue();
	 * pieValue.setPieKey("Java"+i); pieValue.setPieValue(20*i);
	 * list.add(pieValue); } PieChart pc=new PieChart(); try{ FileOutputStream
	 * fos=new FileOutputStream("d://a.jpg"); pc.createChart(fos, list, "统计",
	 * 400, 300); }catch(Exception e){ e.printStackTrace(); } }
	 */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -