SWT 全接触
2009-12-14 00:00:00 来源:WEB开发网这段代码在Shell上的显示的过程效果如下:
3.5 画板(Canvas)
虽然任何Control都可以通过自身的paintEvent来绘制图形,但其子类org.eclipse.swt.widgets.Canvas 是专门被设计用来进行图形操作的特殊的绘图类。我们既可以使用一个Canvas,再加入一个绘图监听器来实现绘图,也可以通过继承来建立一个可重用的自定义Control。Canvas有很多style bit,可以在绘图发生时产生作用。
3.6 绘制直线和图形
我们有很多方法可以在一个GC上画线,包括在两点之间,一系列离散的点之间或一个预定义的图形上都可以。直线是以GC的前景色来绘制的,我们可以通过GC绘制拥有不同厚度的各式直线。对于一个Paint事件,GC有着与Control组件一样的属性,即激发事件且缺省的直线样式固定为1个像素宽。
GC.drawLine(int x1, int y1, int x2, int y2);这条语句在可绘制的面板上的两点间花了一条直线,起始点为(x1,y1),终止点为(x2,y2)。终止点包含在画好的直线中。如果起始点等于终止点的话,将会有一个独立的象素点被绘制出来。
GC.drawPolyline(int[] pointArray);这条语句绘制了一系列互相连接的线段,作为参数的数组用于描述点的位置。语句gc.drawPolyline(new int[] { 25,5,45,45,5,45 });绘制了如下的图形:
GC.drawPolygon(int[] pointArray);与drawPolyline(int[])是类似的,唯一区别在于最后一个点和低一个点是连接的。 gc.drawPolygon(new int[] { 25,5,45,45,5,45 });将会获得与上图一样的结果。
更多精彩
赞助商链接