一个简单的SWT程序实例及详解

照着别人的例子:
搞了下:
下载了一个包swt-3.0.1-win32
1:解压 导入到项目的构建路径中
2:swt-win32-3063.dll放在jdk的bin下面

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;


public class SwtTest {



public static void main(String[] args)
{
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("Hello Word");
shell.setBounds(100, 100, 200, 50);
shell.setLayout(new FillLayout());
Label label=new Label(shell,SWT.CENTER);
label.setText("hello world");
Color red=new Color(display,255,0,0);
label.setForeground(red);
shell.open();
while(!shell.isDisposed())
{
if(!display.readAndDispatch())
display.sleep();
}
red.dispose();
display.dispose();

}
}
以下是对各行代码的详细解释:

第2行:每个基于SWT的应用程序都有一个Display类的实例。用来将低层平台和SWT进行链接。除了管理SWT的事件循环,还能访问SWT需要的平台资源。在16行,display实例将会提交给垃圾收集器。

第3行:每一个窗口都有一个Shell窗口框架,来与用户进行交互。Shell像所有的windows系统一样来处理动作行为,并作为窗口控件的放置场所。

第4行: setText()方法设置窗口的标题.

第5行: setBounds() 方法设置窗口的大小和放置的位置. 在这个例子中, 设置窗口为200个像素宽,50个像素高,并放在离屏幕的左上角100x100像素的位置上。

第6行: setLayout()方法 设置窗口框架的布局. FillLayout,充满式布局管理器,使得组件大小会尽量的充满整个容器.SWT的布局管理器会在以后详细介绍。

第7行:在shell上新建一个简单的label组件并居中显示label的文本内容。

第8行: setText() 方法 设置label的文本内容。

第9行:创建一个红色的颜色类的实例。你也可以使用以下语句获得系统红色的实例:

Color red = display.getSystemColor(SWT.COLOR_RED);

第10行: setForeground() 方法 设置label的前景色

第11行:到目前为止,窗口框架还是不可见的。通过open()方法使得窗口可见。

第12行: while语句循环检测窗口有没有关闭。

第13行:display 控制事件的循环. readAndDispatch() 方法从平台的事件队列中读取事件,并分配他们到合适的处理程序(接收者)。只要队列中一直有事件可以处理,这个方法一直返回true,当事件队列为空时,则返回false(因此允许用户界面UI线程出于sleep状态直到事件队列不为空)。

第15,16行:当循环检测到窗口被关闭时,需要将color,display和一些相关联的平台资源释放。注意到系统颜色实例(colors)将会被提交释放。
通常情况下,为了启动一个java应用程序,会使用Run As -〉 Java Application 命令。通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值