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

📄 chartdemoservlet.java

📁 用java开发的一个企业的DRP系统源码
💻 JAVA
字号:
package com.bjsxt.drp.util.servlet;

import java.io.*;
import java.text.NumberFormat;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

import org.jfree.data.*;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.*;
import org.jfree.chart.labels.PieSectionLabelGenerator;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;

import com.bjsxt.drp.statreport.ClientStatManager;
/**
 * 演示通过servlet直接输出图表
 * @author Winter Lau
 */
public class ChartDemoServlet extends HttpServlet {
	
	public void service(ServletRequest req, ServletResponse res)
		throws ServletException, IOException 
	{
		res.setContentType("image/jpeg");
		
		DefaultPieDataset data = getDataSet();
		JFreeChart chart = ChartFactory.createPieChart3D("分销商级别分布图",  // 图表标题
		data, 
		true, // 是否显示图例
		false,
		false
		);
		
		PiePlot3D plot = (PiePlot3D) chart.getPlot();
        PieSectionLabelGenerator generator=
                new StandardPieSectionLabelGenerator(
                         "{0} : {1} ({2})",
                         NumberFormat.getNumberInstance(), 
                         NumberFormat.getPercentInstance());
        plot.setLabelGenerator(generator);
       
        ChartUtilities.writeChartAsJPEG(res.getOutputStream(),
			1.0f,chart,400,300,null);
	}
	
	/**
	 * 获取一个演示用的简单数据集对象
	 * @return
	 */
	private static DefaultPieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
//		dataset.setValue("一级分销商",100);
//		dataset.setValue("二级分销商",200);
//		dataset.setValue("三级分销商",300);
		Map map = ClientStatManager.getInstance().getClientLevelCount();
		for (Iterator iter= map.entrySet().iterator(); iter.hasNext();) {
			Map.Entry entry = (Map.Entry)iter.next();
			dataset.setValue((String)entry.getKey(),Double.parseDouble(String.valueOf(entry.getValue())));
		}
		return dataset;
	}
}	

⌨️ 快捷键说明

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