- 浏览: 692310 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (239)
- 系统架构设计 (16)
- java collection framework (2)
- java分布式 (4)
- java多线程 (0)
- 故障处理及调优 (16)
- 软件开发过程及管理 (28)
- OS (5)
- 常用算法 (3)
- design pattern (8)
- transaction (7)
- java apps (48)
- corejava (7)
- java and DB (10)
- cache (0)
- webservice (14)
- web前端 (25)
- 报表 (4)
- 日志系统设计 (3)
- Oracle (4)
- mysql (11)
- xml (11)
- 数据源配置管理 (3)
- 企业数据存储 (4)
- php (2)
- 测试 (1)
最新评论
-
orangebook:
对于初学者来说,这样编写可能会误导,理解更烦锁。
观察者模式(发布-订阅) -
liudajiang:
呵呵 startThreads(rand ...
实践缩小Java synchronized 粒度 -
zengwenbo5566:
谢谢博主,学习了
解决getOutputStream() has already been called for this response -
u011335423:
大神厉害啊 可以了
解决getOutputStream() has already been called for this response -
xiang37:
...
解决getOutputStream() has already been called for this response
这是我几年前做过的一个真实的小项目,结构和设计上可能不怎么样,仅供刚接触jfreechart的朋友参考。
显示图表的jsp:
test.jsp
<%@ page language="java" contentType="image/png;charset=GB2312" import="org.jfree.chart.ChartFactory" import="org.jfree.chart.JFreeChart" import="org.jfree.chart.plot.PlotOrientation" import="org.jfree.data.category.DefaultCategoryDataset" import="org.jfree.chart.servlet.ServletUtilities" import="org.jfree.chart.ChartRenderingInfo" import="org.jfree.chart.entity.StandardEntityCollection" import="testsystem.dao.chart.DatasetFromBuglist" %> <% int width=600; int height=375; JFreeChart chart = new DatasetDAO ().get3DChartFromBuglist(); ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); // 设置图表的格式及文件名 String fileName = ServletUtilities.saveChartAsPNG(chart, width, height, info, session); // 设置图表浏览路径 String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName; %> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <P ALIGN="CENTER"> <img src="<%=graphURL %>" border="1" alt="3d bar chart"> </P> </BODY> </HTML>
从数据库中检索要显示的数据:
public class DatasetDAO { public JFreeChart get3DChartFromBuglist() { return createChart(readData()); } /** * get data from oracle database */ public JDBCCategoryDataset readData() { JDBCCategoryDataset data = null; String dbUrl = "jdbc:oracle:thin:@localhost:1521:oradb"; Connection conn; try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("loading oracle driver...!"); conn = DriverManager.getConnection(dbUrl,"test","test"); System.out.println("get Connection!"); data = new JDBCCategoryDataset(conn); //SQL查询 String sqlStr = “…”; data.executeQuery(sqlStr); System.out.println("execute query!"); } catch(ClassNotFoundException cnfe) { System.out.println("oracle driver can not be found!"); System.out.println(cnfe.getMessage()); } catch(SQLException sqle) { System.out.println("SQLException:"); System.out.println(sqle.getMessage()); } catch(Exception e) { System.out.println("Other Exception:"); System.out.println(e.getMessage()); }finally{ conn.close(); } return data; } public static JFreeChart createChart(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createBarChart3D( "各模块bug数量对比图", "当前版本中", "数量", categorydataset, PlotOrientation.VERTICAL, true, true, false ); CategoryPlot categoryplot = jfreechart.getCategoryPlot(); categoryplot.setForegroundAlpha(1.0F); CategoryAxis categoryaxis = categoryplot.getDomainAxis(); CategoryLabelPositions categorylabelpositions = categoryaxis.getCategoryLabelPositions(); CategoryLabelPosition categorylabelposition = new CategoryLabelPosition(RectangleAnchor.LEFT, TextBlockAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, 0.0D, CategoryLabelWidthType.RANGE, 0.3F); categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.replaceLeftPosition(categorylabelpositions, categorylabelposition)); //set the range axis to display integers only... final NumberAxis rangeAxis = (NumberAxis) categoryplot.getRangeAxis(); rangeAxis.setRange(0,20); NumberTickUnit numberTickUnit = new NumberTickUnit(1, new DecimalFormat("0")); rangeAxis.setTickUnit(numberTickUnit); return jfreechart; } }
发表评论
-
Http状态码及实例
2018-03-24 15:06 0HTTP常用状态码列表: ... -
java同步机制及synchronized关键字的应用2
2013-03-25 22:03 1531类定义: public class Test{ ... -
实践缩小Java synchronized 粒度
2013-03-07 22:09 2073项目需求: 产品需要监视不同种类的多个数据库,例如:多个 ... -
java同步机制及synchronized关键字的应用1
2013-03-05 23:04 967Java对多线程的支持与同步机制深受大家的喜爱,通过JMM ... -
Thread_管理异步、定时及周期性任务
2012-09-24 14:43 1270项目中有很多异步、定时及周期性任务的需求,其实现有一定的特点, ... -
Thread_跨节点集合查询
2012-09-18 16:56 1644项目中数据库进行了水平切分,为了处理跨节点集合查询,采用了多线 ... -
Thread_大批量数据的分页处理(生产者-消费者)
2012-09-17 13:30 1376java应用中通常会有处理大批量数据的场景,这里介绍一种分 ... -
Thread_wait、notify、notifyAll的使用方法
2012-09-17 11:19 6859wait()、notify()、notifyAll()是三个定 ... -
计算java对象占用的内存
2011-12-13 11:38 1044Java有一个很好的地方就是java的垃圾收集机制,这个机制集 ... -
java调用shell执行数据压缩
2011-07-18 17:44 1463项目需求: 将迁移来的数据文件进行压缩。要求压缩过程耗时尽量 ... -
quartz应用之一:创建、关闭定时任务
2011-07-18 17:15 3426项目需求: 数据迁移进程开始执行后,启动定时任务每隔30秒计 ... -
xtree应用实例
2011-03-11 18:02 1352最近项目中用到了构造树形目录的功能,简单了解了下dtree和x ... -
JDBC方式访问数据库
2011-01-10 13:48 13981、 JDBC是什么JDBC是Java数据库连接(Java ... -
应用系统中配置文件的应用场景及简要分析
2010-11-12 16:13 1191使用配置文件的有点不外乎两点: 1.提高系统的灵活性。 2 ... -
解决getOutputStream() has already been called for this response
2010-08-26 14:57 158566getOutputStream() has already b ... -
实战防止重复提交(token)应用思路及过程
2010-06-11 16:39 1593我这里只考虑了直接使用struts API的情况,使用自定义的 ... -
Struts国际化完整解决方案-支持多国语言
2010-06-11 16:38 2036在网上有很多有关Struts的中文解决方案,但是很多都说得很零 ... -
jsp查询条件的保留
2010-06-11 16:23 2767本文适合java web开发初学者参考。 统计系统或者 ... -
java日期计算
2010-05-26 14:45 1314Calendar类:一个抽像类,不能直接new 得到。 Cal ... -
mvc应用实例
2010-04-04 19:58 971最近参与到一个行业数据处理的项目,我负责数据请求和订阅的功能, ...
相关推荐
flex实战报表:jFreeChart,cewolf,iText.doc
JfreeChart 教程 中文API 各种图例子
spring+struts2+hibernate+ajax+jfreechart 广告管理系统 带数据库 有十几张表 很有实战意义
《Java开发实战1200例》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、...
《Java开发实战1200例》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、...
《Java开发实战1200例》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、...
《Java开发实战1200例》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、...
《Java开发实战1200例(第2卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML...
《Java开发实战1200例(第2卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML...
《Java开发实战1200例》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、...
javaPPT 从入门到精通 从基础到框架 70个PPT 1.初识java 2.变量、数据类型和运算符和表达式 3运算符和程序流程结构 4.数组 5.类和对象 6.字符串 ...69 在线培训:JFreeChart 70 指导学习:课程总复习
第8 篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版 本管理工具SVN、日志工具commo-logging与Log4J、报表图形引擎 JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系 统:...
第8 篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版 本管理工具SVN、日志工具commo-logging与Log4J、报表图形引擎 JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系 统:...
第8 篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版 本管理工具SVN、日志工具commo-logging与Log4J、报表图形引擎 JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系 统:...