JFreeChart 是个免费的纯Java图形类库。他使得开发人员在他们的程序里显示专业质量图形成为易事。想了解更多关于JFreeChart的信息,可以浏览下面的链接: http://www.jfree.org/jfreechart/
准备:先下载JFreeChart的类库吧。
第一步:新建一个叫“JFreeChartTest”的插件工程。可以用 "RCP application with a view"的模板进行创建.
第二步:创建一个叫“JFreeChartLib”的插件功能,将下载下来的类库增加到工程的build path里。
jcommon-1.0.10.jar
jfreechart-1.0.6.jar
jfreechart-1.0.6-experimental.jar
jfreechart-1.0.6-swt.jar
swtgraphics2d.jar
上述jar文件的最新版本可能会有所更新。
第三步,将“JFreeChartLib”插件工程添加到“JFreeChartTest”工程的依赖库中。通过打开 JFreeChartTest 的 MANIFEST.MF 文件并选择 "Dependencies" 选项卡来进行设置。
第四步,编辑view代码。
1
package jfreecharttest;
2
3
import java.awt.Font;
4
5
import org.eclipse.swt.SWT;
6
import org.eclipse.swt.widgets.Composite;
7
import org.eclipse.ui.part.ViewPart;
8
import org.jfree.chart.ChartFactory;
9
import org.jfree.chart.JFreeChart;
10
import org.jfree.chart.plot.PiePlot;
11
import org.jfree.data.general.DefaultPieDataset;
12
import org.jfree.data.general.PieDataset;
13
import org.jfree.experimental.chart.swt.ChartComposite;
14
15
public class View extends ViewPart {
16
public static final String ID = "JFreeChartTest.view";
17
18
private static PieDataset createDataset() {
19
DefaultPieDataset dataset = new DefaultPieDataset();
20
dataset.setValue("One", new Double(43.2));
21
dataset.setValue("Two", new Double(10.0));
22
dataset.setValue("Three", new Double(27.5));
23
dataset.setValue("Four", new Double(17.5));
24
dataset.setValue("Five", new Double(11.0));
25
dataset.setValue("Six", new Double(19.4));
26
return dataset;
27
}
28
29
/** *//**
30
* Creates a chart.
31
*
32
* @param dataset
33
* the dataset.
34
*
35
* @return A chart.
36
*/
37
private static JFreeChart createChart(PieDataset dataset) {
38
39
JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo 1", // chart
40
// title
41
dataset, // data
42
true, // include legend
43
true, false);
44
45
PiePlot plot = (PiePlot) chart.getPlot();
46
plot.setSectionOutlinesVisible(false);
47
plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
48
plot.setNoDataMessage("No data available");
49
plot.setCircular(false);
50
plot.setLabelGap(0.02);
51
return chart;
52
53
}
54
55
public void createPartControl(Composite parent) {
56
JFreeChart chart = createChart(createDataset());
57
final ChartComposite frame = new ChartComposite(parent, SWT.NONE,
58
chart, true);
59
}
60
61
/** *//**
62
* Passing the focus request to the viewer's control.
63
*/
64
public void setFocus() {
65
}
66
}
最后,运行,效果图如下:

更多关于RCP的文章:
通过Outlook用Eclipse RCP 轻松发邮件
Eclipse RCP状态栏操作
Eclipse RCP 与 Excel的交互
入门文章:
RCP学习笔记(一)RCP入门介绍
RCP学习笔记系列(二)创建HelloWorld
本文作者:javaread.com