1.JFreeChart最常用的web开源图形技术,主要采用AWT作为图形显示后台为支持,新版本也有采用Swing来完成更高级功能,支持图种类广泛,如柱状图、曲线图、时序图、饼图、甘特图、区域图、财政图表,仪表图和组合图。可以在现有图形中非常容易的进行扩展,由于易用和功能强大,在Java开发社区备受好评。
2.Cewolf是基于JFreeChart的一种开源图形技术,主要功能是为JavaWeb开发人员提供一套JFreeChart图形标签,使开发人员非常容易调用标签完成图形创建,因为基于JFreeChart,所以JFreeChart支持的,它也支持两者结合,可以降低开发工作量。
3.jCharts是sourceforge上一个开源web图形技术,它是100%制图工具,它的实现和原理与JFreeChart类似,基于AWT进行二次开发,相对JFreeChart他支持的图形类型相对较少,主要有柱状图、饼图、曲线图、点状图、区域图、雷达图和组合图,相对JFreeChart来说显和轻巧,对于常用图形的绘制已经足够,它设计合理易手用户继承相关类完成图形的扩展。
1.iReport.开源的、优秀的报表设计器,功能强大。不但有适合于windows安状的应用程序,同时提供完成源代码,可供参考及原理分析。通过iReport可以设计出各种各样的简单或复杂的报表,这些报表可以作JasperReport的报表模板,避免编写复杂XML,可以节省大量开发时间。iReport可以使用各种数据源制作报表,并且,还可以可视化的设置报表的字段、参数和变量等信息。对于复杂的报表,例如包含子报表的报表,以及交叉报表等也都可以很容易的通过可视化界面实现。
2.JasperReports.是一个报表制作工具,用户须按照其规则写一个xml,然后得到用户所要的报表文件,可以以pdf,html,或xml等多种形式产生报表,还支持csv,xml等展示。实际应用中一般可以利用iReport进行模版设计,然后用JasperReports进行数据填充,编译表示。iReport+JasperReport是项目中制作报表的一种常用选择。
3.Eclipse Birt是基于eclispe的开放源码报表系统。使用BIRT,能制作出多样化的报表:列表、包括图形的报表、子报表的报表、交叉表。
4.JFreeReport是开源网站sourceforget.net上的一个项目与jfreechart一样属于jfree公司的产品,用来创建报表的一个免费的java类库。继承自swing的tablemode接口,根据一个基于xml的报表模版文件格式化。产生的报表可以预览打印或保存为pdf,html.excel,csv和普通文本。支持c/s和b/s系统的在线报表显示。可以从xml中读取据也可以从数据库读数据。
5.OpenReports基于web的灵活的开源报表解决方案,通过浏览器自动生成动态pdf,xls,rtf,html,csv,和chart报表。利用到的开源技术有hibernate,veloctiy,struts2,spring2等。支持各种报表引擎,如JasperReport、JFreeReport、JXLS、以及Eclipse BIRT能满足日常项目中各种需求。OpenReports也支持QueryReports及ChartReports,所以可以利用QueryReports直接通过创建SQL语句来构建报表。在OpenReports中可以对用户、分组、报表、数据源、报表参数、图表、系统和管理员进行管理。
主页http://www.jfree.org/jfreechart/index.html
JFreeChart是JFreeChart公司在开源网站SourceForget.net上的一个项目,该公司主要产品有:
JFreeReport:服表解决工具。
JFreeChart:Java图形解决方案(Application/Applet/Servlet/JSP)。
JCommon:JFreeReport和JFreeChart的公共类库。
JFreeDesigner:JFreeReprot报表设计工具。
JFreeChart的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>
类图:数据集(dataset)、图形(plot)、渲染器(renderer)、轴(axis)、标题(title)中重要的图
┏━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 包名 │ 描述 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart │JFreeChart类库的主要类和接口以及所有重要的JFreeChart类 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.axis │所有轴类上一些混合的类和接口 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.labels │包括用来在图表中产生单独数据标签的类和接口 ┃
┠─────────────────┼─────────────────────────────┨
┃ │Plot基类、Plot的子类、如PiePlot、CategoryPlot XYPlot类等。┃
┃org.jfree.chart.plot │这是一个重要的包,因为Plot在控制JFreeChart中数据的显示起了┃
┃ │关键作用。 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.renderer │用来实现渲染的一些类 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.renderer.category │用来为了实现CategoryPlot类的着色器而加的类和接口 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.renderer.xy │用来为了实现XYPlot类的着色器而加的类和接口 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.title │用来创建图表标题子标题的类 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.chart.urls │html图像地图产生的url生成的支持类 ┃
┠─────────────────┼─────────────────────────────┨
┃org.jfree.data │包括JFreeChart使用数据集的类和接口 ┃
┗━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛