SWT中的包
swt是Eclipse图象API的基础。
1、org.eclipse.swt.widgets
最常用的组件基本都在此包中,如Button、Text、Label、Combo等。其中
2个最重要的组件是Shell和Composite。Shell相当于应用程序的主窗体;
Composite是容纳组件的容器,相当于SWING中的Panel对象。
2、org.eclipse.swt.layout
主要的界面布局方式在此包中。SWT对组件的布局也采用了AWT/SWING中的Layout
和LayoutData结合的方式。
3、org.eclipse.swt.custom
对一些基本图形组件的扩展在此包中,比如其中的CLabel就是对标准的Label组件的扩展,
在Clabel上可以同时加入文字和图片。在此包中还有一个新的布局方式StackLayout
4、org.eclipse.swt.event
swt采用了和AWT/SWING一样的事件模型,在包中可以找到事件监听类和响应的事件对象。
比如鼠标事件监听器MouseListener,MouseMoveListener等,及对应的事件对象
MouseEvent.
5、org.eclipse.swt.graphics
此包中包含针对图片、光标、字体或绘图API.比如,可通过Image类调用系统中不同的类型
的图片文件。
6、org.eclipse.swt.ole.win32
对不同平台,SWT有一些针对性的API。
1

package edu.ch4;
2

import org.eclipse.swt.SWT;
3

import org.eclipse.swt.widgets.Display;
4

import org.eclipse.swt.widgets.Text;
5

import org.eclipse.set.widgets.Shell;
6

import org.eclipse.swt.graphics.*;
7

8


public class HelloSWT

{
9


public static void main(String[] args)

{
10

Display display=new Display();//创建一个display对象
11

Shell shell=new Shell(display);//shell是程序的主窗体
12

shell.setLayout(null);//设置shell的布局方式
13

Text hello=new Text(shell,SWT.MULTI);//声明一个可以显示多行信息的文本框
14

shell.setText("JAVA应用程序");//设置主窗体的标题
15

shel.setSize(200,100);//设置主窗体的大小
16

Color color=new Color(Display.getCurrent(),255,255,255);//声明颜色对象
17

shell.setBackground(color);
18

hello.setText("Hello,SWT WOrld!\n\n你好,SWT世界!");//设置文本框信息
19

hello.pack();//自动调整文本框的大小
20

//shell.pack();//自动调整主窗体的大小
21

shell.open();//打开主窗体
22


while(!shell.isDisposed())

{
23


if(!display.readAndDispatch())

{//如果display不忙
24

display.sleep();//休眠
25

}
26

}
27

display.dispose();//销毁display
28

}
29

}
创建一个Display
创建一个或多个Shell
设置Shell中的布局
创建Shell中的组件-
用Open()方法打开Shell窗体
-写一个事件转发循环-销毁display