WEB开发网
开发学院软件开发Java SWT 全接触 阅读

SWT 全接触

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 3. 用SWT绘制2D图形用SWT绘图通常由两种方法,一种是借助Graphics Context,SWT 全接触(7),另一种是利用Draw2D,然而Draw2D是一个基于SWT Composite的轻量级组件,这是因为每个GC都需要一个底层的系统资源,而在某些操作系统中这些资源是稀缺的,于是在

3. 用SWT绘制2D图形

用SWT绘图通常由两种方法,一种是借助Graphics Context,另一种是利用Draw2D。然而Draw2D是一个基于SWT Composite的轻量级组件,于是在效率上,它无法体现出SWT的Native Code的速度优势。故其虽然强大,但仅适用于绘图工作不是系统瓶颈的应用程序。所以我在这里只介绍第一种方法。

3.1 Graphics Context

我们可以在任何实现了org.eclipse.swt.graphics.Drawable接口的类上绘制图形,这包括一个控件,一幅图像,一个显示设备或一个打印设备。类org.eclipse.swt.graphics.GC是一个封装了所有可执行的绘图操作的图形上下文(Graphics Context)。两种使用GC的方式我们已经在本节前言中提过,稍后会作详细说明。

3.2 在一幅图像上绘制图形

下面一段代码创建了一个带有图像的GC并在上面绘制了两条线:


Image image = new Image(display,"C:/music.gif"); 
GC gc = new GC(image); 
Rectangle bounds = image.getBounds(); 
gc.drawLine(0,0,bounds.width,bounds.height); 
gc.drawLine(0,bounds.height,bounds.width,0); 
gc.dispose(); 
image.dispose(); 


SWT 全接触

一旦你创建了一个GC,你就有责任通过它的dispose方法释放它的资源。一个由应用程序创建的GC需要立即被绘制,然后尽快释放掉。这是因为每个GC都需要一个底层的系统资源,而在某些操作系统中这些资源是稀缺的,像Win98就只允许同时创建五个GC对象。

3.3 在Control上绘图

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:SWT 全接触

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接