使用Eclipse RCP进行桌面程序开发(五):2D绘图2011-04-13海边沫沫看完这篇文章,可以实现如下界面:


当我第一次看到RCP的时候,我就梦想着有一天能够用它开发界面华丽的2D和3D程序,经 历过前面的探索,今天终于可以揭开2D绘图的神秘面纱。在包资源管理器的插件依赖项中, 我们一眼就可以看到org.eclipse.swt.graphics包,毫无疑问,和2D绘图有关的类就在这个 包中。还有一个org.eclipse.swt.opengl包也很引人注目,但是里面却只有GLCanvas类和 GLData类,怎么也找不到传说中的GL类和GLU类,也许下一篇文章我会写出关于3D的内容,但 也许这个计划会夭折。我刚开始发现org.eclipse.swt.graphics包的时候,要使用包里面的类却不是那么容易。 比如,从名称上可以看出Image类是处理图像的,但是它的构造函数无一例外都需要一个 Device参数,于是,我迷惑了,Device,我该如何取得?再比如,GC类里面含有各种绘图的 方法,但是GC的构造函数需要Drawable参数,那Drawable我又该如何获得呢?于是,我在网上搜索关于SWT 2D方面的内容,终于,让我看到了别人这样构造Image和GC :Image img = new Image(display,"pic.gif");GC gc = new GC(Image);你能看出什么?为什么display是Device的子类?为什么Image是Drawabe的子类?最简单 的办法,使用Eclipse的类层次结构视图查看: