java 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

4f1150b881333f12a311ae9ef34da474.pngpackagejfreecharttest;24f1150b881333f12a311ae9ef34da474.png34f1150b881333f12a311ae9ef34da474.pngimportjava.awt.Font;44f1150b881333f12a311ae9ef34da474.png54f1150b881333f12a311ae9ef34da474.pngimportorg.eclipse.swt.SWT;64f1150b881333f12a311ae9ef34da474.pngimportorg.eclipse.swt.widgets.Composite;74f1150b881333f12a311ae9ef34da474.pngimportorg.eclipse.ui.part.ViewPart;84f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.chart.ChartFactory;94f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.chart.JFreeChart;104f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.chart.plot.PiePlot;114f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.data.general.DefaultPieDataset;124f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.data.general.PieDataset;134f1150b881333f12a311ae9ef34da474.pngimportorg.jfree.experimental.chart.swt.ChartComposite;144f1150b881333f12a311ae9ef34da474.png151fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassViewextendsViewPart{16d18c02628675d0a2c816449d98bda930.pngpublicstaticfinalString ID="JFreeChartTest.view";17d18c02628675d0a2c816449d98bda930.png1897e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifprivatestaticPieDataset createDataset(){19d18c02628675d0a2c816449d98bda930.png        DefaultPieDataset dataset=newDefaultPieDataset();20d18c02628675d0a2c816449d98bda930.png        dataset.setValue("One",newDouble(43.2));21d18c02628675d0a2c816449d98bda930.png        dataset.setValue("Two",newDouble(10.0));22d18c02628675d0a2c816449d98bda930.png        dataset.setValue("Three",newDouble(27.5));23d18c02628675d0a2c816449d98bda930.png        dataset.setValue("Four",newDouble(17.5));24d18c02628675d0a2c816449d98bda930.png        dataset.setValue("Five",newDouble(11.0));25d18c02628675d0a2c816449d98bda930.png        dataset.setValue("Six",newDouble(19.4));26d18c02628675d0a2c816449d98bda930.pngreturndataset;27ecedf933ec37d714bd4c2545da43add2.png    }28d18c02628675d0a2c816449d98bda930.png2997e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif/** *//**30d18c02628675d0a2c816449d98bda930.png     * Creates a chart.31d18c02628675d0a2c816449d98bda930.png     *32d18c02628675d0a2c816449d98bda930.png     *@paramdataset33d18c02628675d0a2c816449d98bda930.png     *            the dataset.34d18c02628675d0a2c816449d98bda930.png     *35d18c02628675d0a2c816449d98bda930.png     *@returnA chart.36ecedf933ec37d714bd4c2545da43add2.png*/3797e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifprivatestaticJFreeChart createChart(PieDataset dataset){38d18c02628675d0a2c816449d98bda930.png39d18c02628675d0a2c816449d98bda930.png        JFreeChart chart=ChartFactory.createPieChart("Pie Chart Demo 1",//chart40d18c02628675d0a2c816449d98bda930.png//title41d18c02628675d0a2c816449d98bda930.pngdataset,//data42d18c02628675d0a2c816449d98bda930.pngtrue,//include legend43d18c02628675d0a2c816449d98bda930.pngtrue,false);44d18c02628675d0a2c816449d98bda930.png45d18c02628675d0a2c816449d98bda930.png        PiePlot plot=(PiePlot) chart.getPlot();46d18c02628675d0a2c816449d98bda930.png        plot.setSectionOutlinesVisible(false);47d18c02628675d0a2c816449d98bda930.png        plot.setLabelFont(newFont("SansSerif", Font.PLAIN,12));48d18c02628675d0a2c816449d98bda930.png        plot.setNoDataMessage("No data available");49d18c02628675d0a2c816449d98bda930.png        plot.setCircular(false);50d18c02628675d0a2c816449d98bda930.png        plot.setLabelGap(0.02);51d18c02628675d0a2c816449d98bda930.pngreturnchart;52d18c02628675d0a2c816449d98bda930.png53ecedf933ec37d714bd4c2545da43add2.png    }54d18c02628675d0a2c816449d98bda930.png5597e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicvoidcreatePartControl(Composite parent){56d18c02628675d0a2c816449d98bda930.png        JFreeChart chart=createChart(createDataset());57d18c02628675d0a2c816449d98bda930.pngfinalChartComposite frame=newChartComposite(parent, SWT.NONE,58d18c02628675d0a2c816449d98bda930.png                chart,true);59ecedf933ec37d714bd4c2545da43add2.png    }60d18c02628675d0a2c816449d98bda930.png6197e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif/** *//**62d18c02628675d0a2c816449d98bda930.png     * Passing the focus request to the viewer's control.63ecedf933ec37d714bd4c2545da43add2.png*/6497e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicvoidsetFocus(){65ecedf933ec37d714bd4c2545da43add2.png    }668f1ba5b45633e9678d1db480c16cae3f.png}

最后,运行,效果图如下:

jfreechart30.gif

更多关于RCP的文章:

通过Outlook用Eclipse RCP 轻松发邮件

Eclipse RCP状态栏操作

Eclipse RCP 与 Excel的交互

入门文章:

RCP学习笔记(一)RCP入门介绍

RCP学习笔记系列(二)创建HelloWorld

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值