我的蛋壳

倡导自由、开放、分享的Java技术社区 http://www.javaread.com

 

在 Eclipse RCP 里使用 JFreeChart,轻松实现画图

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                truefalse);
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

posted on 2008-09-05 11:06 javaread.com 阅读(3000) 评论(1)  编辑  收藏

评论

# re: 在 Eclipse RCP 里使用 JFreeChart,轻松实现画图 2011-12-10 10:45 pythondebug

按照你的代码写,怎么在我运行起来,文字都显示不出来呢?让我很无解  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(3)

随笔档案

Java

友情链接

搜索

最新评论

阅读排行榜

评论排行榜