知识大全 Java程序中用JFreeChart制作图形报表

Posted

篇首语:白日放歌须纵酒,青春作伴好还乡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序中用JFreeChart制作图形报表相关的知识,希望对你有一定的参考价值。

Java程序中用JFreeChart制作图形报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   一 需求分析    我家领导认为 在是否嫁给我做老婆的问题上 应该有更加科学的决策模型 如果能够将每天的感情生活量化 且以时间为X轴 生成数据报表 就可以为她的决策提供数据支持 秉著以领导意志为导向的基本原则 开发了本软件 为家庭信息化建设提供新的思路      二 系统概述    本系统的基本功能是 接收用户每天的输入并保存 月/季度/年度末生成数据折线图 周期环比柱状图 由于投入资金有限(不让我往外掏钱就已经很不错了) 所以本软件的 版采用单机应用程序 使用Access数据库 如果市场推广情况良好 不排除推出大型FRP软件(Family Resource Project)的可能 届时将包含KRM(Kin Relation Manage 家族关系管理) HA(House Automatization 家庭自动化)等模块 利用强大的J EE框架 为家庭信息化建设提供完整解决方案     程序生成的目标图片效果如下    >   三 系统要求     开源工具包jfreechart pre jar和它自己要使用的工具包jmon pre jar    下载地址      女朋友一个     请自行准备 暂不提供下载    下面主要讲述系统是如何从数据库中提取数据 然后生成图形报表的 (终于进入正题了 )    数据表结构    >  用于封装每个分数的值对象如下     package bromon fiona curve dao;    import java util *;    public class CurveVo    private int year;    private int month;    private int day;    private double cent;    private String note;    private String owner;    //get/set方法    …………      生成图片的关键代码如下     package bromon fiona curve util;    //一大堆import    public class DrawPic    /**  *根据时间查询数据 将所得到的数据封装成TimeSeriesCollection对象  *TimeSeriesCollection是JfreeChart中定义的类的对象  *本方法将被后面的draw方法调用  *@param int 要查询哪一年  *@param int 要查询哪一月  *@return TimeSeriesCollection  */    public TimeSeriesCollection getData(int year int month)    //fiona的数据集合 其中存放的是上面定义过的CurveVo值对象  //这些值对象的值来自于数据库 相关代码是最常见的jdbc内容 请自行完成    List dataOfFiona=new ArrayList();    //Bromon的数据集合    List dataOfBromon=new ArrayList();    //构造要返回的对象    TimeSeriesCollection result=new TimeSeriesCollection();    //这两个对象 分别对应一条曲线 构造函数的参数 将显示在图片的下方    TimeSeries fiona=new TimeSeries( fiona );  TimeSeries bromon=new TimeSeries( bromon );  CurveVo cv=null;  //遍历Fiona的数据集 填充fiona对象    for(int i= ;i<dataOfFiona size();i++)    cv=(CurveVo)dataOfFiona get(i);  fiona add(new TimeSeriesDataItem(new Day(cv getDay() cv getMonth() cv getYear()) new Double(cv getCent())));      result addSeries(fiona);  for(int i= ;i<dataOfBromon size();i++)    cv=(CurveVo)dataOfBromon get(i);  bromon add(new TimeSeriesDataItem(new Day(cv getDay() cv getMonth() cv getYear()) new Double(cv getCent())));      result addSeries(bromon);    //生成图表的方法 图表数据来自上面的getData方法    public String draw(int y int m)    String result=null;  String title= Bromon & Fiona的爱情走势图 ;  String subTitle=y+ 年 +m+ 月 ;  String domain= 时间 ;//x轴  String range= 分值 ;//y轴  TimeSeriesCollection data =this getData(y m);  JFreeChart chart =ChartFactory createTimeSeriesChart(title domain range data true true false);  TextTitle subtitle =new TextTitle(subTitle new Font( 宋体 Font BOLD ));  chart addSubtitle(subtitle);  chart setTitle(new TextTitle(title new Font( 宋体 Font ITALIC )));  chart setBackgroundPaint(new GradientPaint( Color white Color white));  c setTime(new Date());  String fileName= c:\\\\pics\\\\ +y+ +m+ jpg ;//保存为位置  try    File f=new File( c:\\\\pics );  if(!f exists())    f mkdir();    ChartUtilities saveChartAsJPEG(new File(fileName) chart );//宽 高    catch (Exception e)    e printStackTrace();    result=fileName;  return result;      //ok 测试一下    public static void main(String args[])    new DrawPic() draw( );        生成环比柱状图的相关内容 整理后放出     JfreeChart的绘图功能很强大 但是API的编写有些地方让人很不舒服 很多元素要定制不容易 如果有更好的API的话 我很愿意使用 当然 免费是个很重要的前提 cha138/Article/program/Java/JSP/201311/19686

相关参考

知识大全 在Struts中用JFreeChart生成图表

在Struts中用JFreeChart生成图表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  类

知识大全 怎样制作可执行的java程序

  常常在网上看到有人询问如何把java程序编译成exe文件通常回答只有两种一种是制作一个可执行的JAR文件包然后就可以像chm文档一样双击运行了而另一种是使用JET来进行  编译但是JET是要用钱买

知识大全 在Java程序中截获控制台输出

在Java程序中截获控制台输出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  即使在图形用户界面

知识大全 在PB中用Flash制作Splash封面

在PB中用Flash制作Splash封面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们常用

知识大全 JAVA中用递归函数来删除子目录

JAVA中用递归函数来删除子目录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java是一门强

知识大全 在Oracle中用java编写存储过程

在Oracle中用java编写存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracl

知识大全 JAVA中用接口实现多继承和多态的方法

JAVA中用接口实现多继承和多态的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JAVA里

知识大全 浅谈Java中用动态代理类实现记忆功能

浅谈Java中用动态代理类实现记忆功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  记忆是衍生

知识大全 Java 3D图形API

Java3D图形API  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者TnkLuo  E_m

知识大全 命名你的线程和查看系统

  虽然集成开发环境(IDE)可以为图形化应用程序提供很好的调试设置但是它不允许你调试多线程的Java服务器程序        幸运的是有几个工具可以做到例如日志应用程序接口(API)和Java调试器