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

在 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代码。

 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                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

你可能感兴趣的:(在 Eclipse RCP 里使用 JFreeChart,轻松实现画图)