jfreechart学习心得(与大家分享)
来源:互联网 发布:java8函数式编程 编辑:程序博客网 时间:2024/05/21 10:07
自己在网上搜了很多 最后好不容易 弄出来 第一次弄 呵呵 拿出来 分享一下:
写的 比较全面
/** * 类库 * 1、jfreechart-1.0.5.jar、jcommon-1.0.9.jar、gnujaxp.jar * 2、jbcl.jar、dx.jar、beandt.jar 由JBuilder2006的lib下提供 */ |
首先 1. 这是jsp页面显示报表代码:
- <%@ page contentType="text/html;charset=GBK"%>
- <%@ page import="org.jfree.data.general.DefaultPieDataset"%>
- <%@ page import="org.jfree.chart.*"%>
- <%@ page import="org.jfree.chart.plot.*"%>
- <%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
- <%@ page import="org.jfree.chart.labels.StandardPieToolTipGenerator"%>
- <%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
- <%@ page import="java.io.*"%>
- <%@ page import="ycf.domain.Top"%>
- <%@ page import="ycf.service.MerInfoService"%>
- <%@ page import="java.util.*"%>
- <HTML>
- <HEAD>
- <META http-equiv=Content-Type content="text/html; charset=GBK">
- <META NAME="Author" CONTENT="Alpha">
- </HEAD>
- <BODY>
- <%
- List lt=null;
- MerInfoService merInfoService=new MerInfoService();
- Top top=new Top();
- lt=merInfoService.getTop5();
- Iterator it=lt.iterator();
- DefaultPieDataset dpd = new DefaultPieDataset();
- while(it.hasNext()){
- top=(Top)it.next();
- String name=String.valueOf(top.getMerId());
- int value=top.getTotalQuantity();
- dpd.setValue(name,value);
- }
- PiePlot3D plot = new PiePlot3D(dpd);//生成一个3D饼图
- //plot.setURLGenerator(new StandardPieURLGenerator("DegreedView.jsp"));//设定图片链接
- JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
- chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
- chart.setTitle("订购排行榜分析");//可选,设置图片标题
- plot.setToolTipGenerator(new StandardPieToolTipGenerator());
- StandardEntityCollection sec = new StandardEntityCollection();
- ChartRenderingInfo info = new ChartRenderingInfo(sec);
- PrintWriter w = new PrintWriter(out);//输出MAP信息
- //500是图片长度,300是图片高度
- //String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
- String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
- ChartUtilities.writeImageMap(w,"map0",info,false);
- String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
- %>
- <P ALIGN="CENTER">
- <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">
- </P>
- </BODY>
- </HTML>
2.这是java application显示报表:
- package ycf.jfreechart;
- import java.util.Iterator;
- import java.util.List;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartFrame;
- import org.jfree.data.general.DefaultPieDataset;
- import ycf.domain.Top;
- import ycf.presentation.MerInfoBean;
- import ycf.service.MerInfoService;
- public class Top5 {
- private static List lt=null;
- private MerInfoService merInfoService=null;
- private static Top top=null;
- public Top5() {
- merInfoService=new MerInfoService();
- }
- public static void main(String[] args){
- Top5 top5=new Top5();
- lt=top5.merInfoService.getTop5();
- Iterator it=lt.iterator();
- DefaultPieDataset dpd = new DefaultPieDataset();
- while(it.hasNext()){
- top=(Top)it.next();
- String name=String.valueOf(top.getMerId());
- int value=top.getTotalQuantity();
- dpd.setValue(name,value);
- }
- //Create JFreeChart object
- //参数可以查看源码
- JFreeChart pieChart = ChartFactory.createPieChart("订购排行榜分析图",dpd,true,true,false);
- ChartFrame pieFrame = new ChartFrame("订购排行榜分析图",pieChart);
- pieFrame.pack();
- pieFrame.setVisible(true);
- }
- }
3.web.xml 这样配置:
- <servlet>
- <servlet-name>DisplayChart</servlet-name>
- <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>DisplayChart</servlet-name>
- <url-pattern>/DisplayChart</url-pattern>
- </servlet-mapping>
4. 这是处理从数据库中 查询数据 放入list中的函数
- //订购排行榜分析
- public List getTop5()
- {
- return merInfoDao.getTop5();
- }
5.这是sql查询语句
- <!-- 订购排行榜分析 -->
- <select id="getTop" resultClass="top">
- select total_quantity as totalQuantity,
- merchandise_id as merId
- from (select sum(merchandise_quantity) as total_quantity,merchandise_id
- from orderform_list
- group by merchandise_id
- order by sum(merchandise_quantity) desc)
- where 6>rownum
- </select>
6.
总结:
虽然开始什么都不懂,但最后还是做出来了,充分验证了一个道理:
只要你打算做,肯定可以做出来 呵呵
- jfreechart学习心得(与大家分享)
- JFreeChart学习心得与例子
- JFreeChart学习心得与例子
- 转载:JFreeChart学习心得与例子
- cadence原理图学习心得,和大家分享
- jfreechart学习心得
- HTML开发——成长笔记(以后学习心得都会整理出来分享给大家)
- PhotoShop学习心得分享------(二)绘画与修饰工具组
- 一年工作经历与大家分享
- 好书就要与大家分享
- SQL精华~~~与大家分享~~~~
- 面试经历,与大家分享.
- 科研大礼包 与大家分享
- 商业源码与大家分享
- c#读书笔记,与大家分享
- 愿与大家共同分享
- 开始记录与大家分享
- Java学习心得(看到后觉得很好,在博客上分享一下,希望对大家有启发)
- Linux操作系统Ubuntu的apt命令学习
- SelectionList取值问题
- 用CreateThread()创建线程
- 推动企业发展:SOA与云计算相结合
- Delphi 6 Internal Error URW3537
- jfreechart学习心得(与大家分享)
- C# 3.0设计模式
- 为Trac安装基于Web表单登录验证界面的插件
- struts架构:结合struts和hibernate谈J2EE架构的数据表示
- 软件人员素质要求
- 搜索引擎行业的羊群效应
- java复习
- java访问windows剪贴板中的图片
- 通用的权限管理系统的设计