快速业务通道

SWT全接触 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
我们主要利用事件驱动模型而不这样利用类似于Windows程序设计中的消息循环的方法来处理事件。但是 这段代码意义还算简单明了,就是反复的读取和分派(dispatch)事件,并在没有事件的时候把控制权还 给CPU。

SWT全接触(3)

时间:2011-11-09 IBM 薛笛

2.1.2 资源的释放

最后一条语句是display.dispose ();,这告诉我们操作系统的资源是由程序员显示释放的。资源的释 放遵循以下两条规则:

1. 如果你创建了某个资源,那么你就有责任释放它。

2. 释放父组件资源的同时也释放了其子组件的资源。

2.1.3 标准构造函数

窗口组件被创建的时候必须伴随一个他的上层组件,例如,我要建立一个按钮就可以采用如下方法: Button button = new Button(shell, SWT.PUSH);

其中,Button的父组件Shell是必不可少的,这样就限定了我们生成组件的顺序。

第二个参数被称为"Style Bit",表示了这个组件的显示特性,每种特性占一位,如下例所示:

Text test=new Text(group, SWT.SINGLE|SWT.BORDER);

这条代码生成了一个单一的,有边框的文本框。这显然又与习惯了JavaBeans模型,总是用setXXX()来 设置属性的我们不太适应--毕竟是IBM的东西啊,秉承了其产品不易上手的传统。

2.1.4 错误与异常

SWTError指的是不能修复的错误,以及一些操作系统错误。

SWTException指的是一些可恢复的错误以及无效的线程访问之类的错误。

IllegalArgumentException指可修复的错误或参数为null之类的错误。

SWT全接触(4)

时间:2011-11-09 IBM 薛笛

2.1.5 Item

Item类是一个轻量级的系统对象,总是作为基本的单位元素与其他一些类配合使用。比如Tree中的元 素即为TreeItem,Table的单位元素则是TableItem,而MenuItem就是Menu的基本单位元素了。

2.1.6 SWT的类阶层体系结构

最后让我们来整体认识一下整个SWT窗口组件的层次结构,如下所示:以上的部分给我们以整体的认识 ,即一个SWT引用程序应该怎么创建,其基本的运行规则和相关类的体系结构。我想我就不用再对每一个 控件的API或使用方面费唇舌了,熟悉这些东西是体力劳动,而网上有很多例子可供参考。下面一节我将 详细介绍有关SWT布局的相关知识。

2.2 SWT的布局管理

相信对于组件的布局(Layout)大家都不会太陌生,它的存在就是提供给我们一种可以在组件位置移 动或更改大小时重新绘制组件的机制。设置组件的布局我们可以采用Composite.setLayout()方法来实现 。

每种布局都有其相应的数据(Layout Data),可以通过Control.setLayoutData()方法来进行关联。 以下是一些布局类及其显示效果:

FillLayout:让所有子组件等大小的"填满"整个面板空间。

FillLayout是最简单的一个布局类,它 将所有窗口组件放置到一行或一列中,并强制他们的大小也相等。FillLayout不能外覆(wrap),也不能 定制边框和距离。很显然这样的限制让这个布局类最适合作类似于计算器面板的布局,或者为Taskbar和 Toolbar上面的按钮作布局使用。

SWT全接触(5)

时间:2011-11-09 IBM 薛笛

RowLayout:类似于AWT中的FlowLayout,让所有组件按行排列,一行排不下就放到下一行。

RowLayout比FillLayout用得更广泛一些,原因很简单,就是RowLayout支持FillLayout所部支持的功 能,例如能够外覆,能够修改边框和间距等等。另外,每一个位于RowLayout中的窗口组件都可以通过设 定一个RowData类来指定其在RowLayout中的宽度和高度。

GridLayout: GridLayout是3个标准布局类中最有用的,但同时也是最复杂的--没办法,强大的功能 必定伴随着一定程度的复杂性。通过GridLayout,一个Composite的子窗口组件被放置在一个网格(Grid )之中。GridLayout有很多配置字段,并且和RowLayou

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号