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代码。
1package jfreecharttest;
2
3import java.awt.Font;
4
5import org.eclipse.swt.SWT;
6import org.eclipse.swt.widgets.Composite;
7import org.eclipse.ui.part.ViewPart;
8import org.jfree.chart.ChartFactory;
9import org.jfree.chart.JFreeChart;
10import org.jfree.chart.plot.PiePlot;
11import org.jfree.data.general.DefaultPieDataset;
12import org.jfree.data.general.PieDataset;
13import org.jfree.experimental.chart.swt.ChartComposite;
14
15public 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