SWT全接触 - 编程入门网
我们主要利用事件驱动模型而不这样利用类似于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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |