双面 for Java
Find Myself.Be Myself
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
3 随笔 :: 6 文章 :: 18 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
心情日记(2)
(rss)
随笔档案
2007年1月 (1)
2006年11月 (2)
文章分类
网上收集(4)
(rss)
文章档案
2006年12月 (2)
2006年9月 (1)
2006年8月 (2)
2006年4月 (1)
blog收藏
Javaphua Blog
不丑的妖精
饼干的blog
收藏夹
MyEclipse 4.1调试JavaScript
SSH框架的构建
Struts+Spring+Hibernate练习
图解eclipse+myelcipse开发EJB
资源链接
Java开源大全
SourceForge.net
搜索
最新评论
1. re: 带命令行安全模式解决XP密码丢失问题
为什么我只有一个选项啊,回车后,没用
--硕大的
2. re: 带命令行安全模式解决XP密码丢失问题
补一句 上面给出的命令也是错的!少一个字母
进入带命令行的安全模式根本就不会显示administration用户 如果显示了 说明这个用户没设密码 如果没设密码 还破解什么??
--admin
3. re: 带命令行安全模式解决XP密码丢失问题
拿来主义 废话
--admin
4. re: 带命令行安全模式解决XP密码丢失问题
怎么弄是正确的、最简单省事的、 求解、
--XP
5. re: 带命令行安全模式解决XP密码丢失问题
求解、
--XP
阅读排行榜
1. [转]成年人必看的五个故事(299)
2. [转]IT人若是离开了IT还能干什么?(284)
3. 程序员该做的事(266)
评论排行榜
1. 程序员该做的事(1)
2. [转]IT人若是离开了IT还能干什么?(0)
3. [转]成年人必看的五个故事(0)
[转]JFreeChart介绍
一、JFreeChart获取。
JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下:
1、JFreeReport:报表解决工具
2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp)
3、JCommon:JFreeReport和JFreeChart的公共类库
4、JFreeDesigner:JFreeReport的报表设计工具
我们可以从jfree官方网站上获取最新版本和相关资料(但是jfree的document需要40美金才能获取),
获取地址:
http://www.jfree.org/jfreechart/index.html
(同时可以获得简明介绍)
我们以当前最新版本:jfreechart_0.9.21.zip为例子进行说明。
二、JFreeChart配置安装
1、解压jfreechart_0.9.21.zip到指定位置,其中source是jfreechart的源码,jfreechart-0.9.21-demo.jar
是例子程序(该部分留给大家自己去研究)
2、为了配置成功,我们需要关注的文件有如下三个:jfreechart-0.9.21.jar、lib\jcommon-0.9.6.jar、
lib\gnujaxp.jar
3、如果是Application开发,把上述三个文件拷贝到%JAVA_HOME%\LIB中,同时在环境变量CLASSPATH中加入
如果是WEB开发,以TOMCAT中的一个WEB项目TEST为例子说明:
把上述三个文件拷贝到TEST\WEB-INF\LIB中,然后修改TEST\WEB-INF\web.xml文件,在其中加入如下代码:
1
<
servlet
>
2
<
servlet-name
>
DisplayChart
</
servlet-name
>
3
<
servlet-class
>
org.jfree.chart.servlet.DisplayChart
</
servlet-class
>
4
</
servlet
>
5
<
servlet-mapping
>
6
<
servlet-name
>
DisplayChart
</
servlet-name
>
7
<
url-pattern
>
/servlet/DisplayChart
</
url-pattern
>
8
</
servlet-mapping
>
至此jfreechart的配置就完成了,下面就可以进行jfreechart的开发了。这里值得提出的是jfreechart的类
结构设计前后兼容性不是很好,不同版本的jfreechart中类库结构可能不一样,有时候可能需要查源码。如果
是中文显示的时候可能依据观感需要改变源码的字体,不过我个人觉得这个版本比以前版本要好一些。
三、JFreeChart功能介绍
JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包括如下几个方面:
pie charts (2D and 3D):饼图(平面和立体)
bar charts (regular and stacked, with an optional 3D effect):柱状图
line and area charts:曲线图
scatter plots and bubble charts
time series, high/low/open/close charts and candle stick charts:时序图
combination charts:复合图
Pareto charts
Gantt charts:甘特图
wind plots, meter charts and symbol charts
wafer map charts
(态图表,饼图(二维和三维) , 柱状图 (水平,垂直),线图,点图,时间变化图,甘特图, 股票行情图,混和图, 温度计图, 刻度图等常用商用图表)
图形可以导出成PNG和JPEG格式,同时还可以与PDF和EXCEL关联
JFreeChart核心类库介绍:
研究jfreechart源码发现源码的主要由两个大的包组成:org.jfree.chart,org.jfree.data。其中前者主要与图形
本身有关,后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究,以后有时间我会告诉大家怎么去
研究源码。
核心类主要有:
org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象
org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持
org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴和横轴
org.jfree.chart.render.XXXRender:负责如何显示一个图表对象
org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接
XXXXXToolTipGenerator:用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类
四、JFreeChart开发(Application/Applet)
1、pie charts,代码如下
1
/** */
/**
2
* Description:This application is the first jfreechart
3
* Datetime:20058-02-11
4
*/
5
package
demo;
6
7
import
org.jfree.chart.JFreeChart;
8
import
org.jfree.chart.ChartFactory;
9
import
org.jfree.chart.ChartFrame;
10
import
org.jfree.data.general.DefaultPieDataset;
11
12
public
class
FirstJFreeChart
{
13
public
FirstJFreeChart()
{
14
}
15
16
public
static
void
main(String[] args)
{
17
DefaultPieDataset dpd
=
new
DefaultPieDataset();
18
dpd.setValue(
"
管理人员
"
,
25
);
19
dpd.setValue(
"
市场人员
"
,
25
);
20
dpd.setValue(
"
开发人员
"
,
45
);
21
dpd.setValue(
"
其他人员
"
,
5
);
22
23
//
Create JFreeChart object
24
//
参数可以查看源码
25
JFreeChart pieChart
=
ChartFactory.createPieChart(
"
CityInfoPort公司组织架构图
"
,dpd,
true
,
true
,
false
);
26
ChartFrame pieFrame
=
new
ChartFrame(
"
CityInfoPort公司组织架构图
"
,pieChart);
27
pieFrame.pack();
28
pieFrame.setVisible(
true
);
29
}
30
}
31
上面例子可以进一步改进,如下:
1
/** */
/**
2
* Description:This application is the first jfreechart
3
* Datetime:20058-02-11
4
*/
5
package
com.cityinforport.demo;
6
7
import
org.jfree.chart.JFreeChart;
8
import
org.jfree.chart.ChartPanel;
9
import
org.jfree.chart.ChartFactory;
10
import
org.jfree.chart.ChartFrame;
11
import
org.jfree.data.general.DefaultPieDataset;
12
import
org.jfree.chart.plot.PiePlot;
13
import
org.jfree.data.general.PieDataset;
14
import
org.jfree.ui.ApplicationFrame;
15
import
org.jfree.ui.RefineryUtilities;
16
import
java.awt.Font;
17
import
javax.swing.
*
;
18
19
20
public
class
FirstJFreeChart
extends
ApplicationFrame
{
21
//
构造函数
22
public
FirstJFreeChart(String s)
{
23
super
(s);
24
setContentPane(createDemoPanel());
25
}
26
27
public
static
void
main(String[] args)
{
28
FirstJFreeChart fjc
=
new
FirstJFreeChart(
"
CityInfoPort公司组织架构图
"
);
29
fjc.pack();
30
RefineryUtilities.centerFrameOnScreen(fjc);
31
fjc.setVisible(
true
);
32
}
33
34
//
生成饼图数据集对象
35
public
static
PieDataset createDataset()
{
36
DefaultPieDataset defaultpiedataset
=
new
DefaultPieDataset();
37
defaultpiedataset.setValue(
"
管理人员
"
,
10.02D
);
38
defaultpiedataset.setValue(
"
市场人员
"
,
20.23D
);
39
defaultpiedataset.setValue(
"
开发人员
"
,
60.02D
);
40
defaultpiedataset.setValue(
"
OEM人员
"
,
10.02D
);
41
defaultpiedataset.setValue(
"
其他人员
"
,
5.11D
);
42
43
return
defaultpiedataset;
44
}
45
46
//
生成图表主对象JFreeChart
47
public
static
JFreeChart createChart(PieDataset piedataset)
{
48
//
定义图表对象
49
JFreeChart jfreechart
=
ChartFactory.createPieChart(
"
CityInfoPort公司组织架构图
"
,piedataset,
true
,
true
,
false
);
50
//
获得图表显示对象
51
PiePlot pieplot
=
(PiePlot)jfreechart.getPlot();
52
//
设置图表标签字体
53
pieplot.setLabelFont(
new
Font(
"
SansSerif
"
,Font.BOLD,
12
));
54
pieplot.setNoDataMessage(
"
No data available
"
);
55
pieplot.setCircular(
true
);
56
pieplot.setLabelGap(
0.01D
);
//
间距
57
58
return
jfreechart;
59
}
60
61
//
生成显示图表的面板
62
public
static
JPanel createDemoPanel()
{
63
JFreeChart jfreechart
=
createChart(createDataset());
64
return
new
ChartPanel(jfreechart);
65
}
66
67
}
68
posted on 2006-08-07 09:46
双面人 QQ:147670662
阅读(493)
评论(0)
编辑
收藏
所属分类:
网上收集
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
[转]增加TOMCAT的内存
[转]Tomcat配置技巧-配置单点登录
[转]JFreeChart介绍
带命令行安全模式解决XP密码丢失问题
Powered by:
BlogJava
Copyright © 双面人 QQ:147670662