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

SWT 全接触

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: Composite可以包含其它Composite和Control的容器Control这是一个重量级(HeavyWeight)系统对象,像按钮(Button),SWT 全接触(3),标签(Label),表格,这显然又与习惯了JavaBeans模型,总是用setXXX()来设置属性的我们不太适应--

Composite
可以包含其它Composite和Control的容器

Control
这是一个重量级(HeavyWeight)系统对象。像按钮(Button),标签(Label),表格,工具栏和树形结构这些组件都是Control的子类,Conposite和Shell也不例外。

2.1.1 消息循环

我们可以看到,上面的代码中有这样的语句:


while (!shell.isDisposed()) 
{ 
  if (!display.readAndDispatch()) 
 display.sleep (); 
} 

如果你像我一样是由Java语言起步的,那么你会对这个消息循环的代码感到比较陌生,毕竟在SWING中我们主要利用事件驱动模型而不这样利用类似于Windows程序设计中的消息循环的方法来处理事件。但是这段代码意义还算简单明了,就是反复的读取和分派(dispatch)事件,并在没有事件的时候把控制权还给CPU。

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的东西啊,秉承了其产品不易上手的传统。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:SWT 全接触

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