快速业务通道

步入SWT/JFace世界,你还等什么 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
,对于Java来说,这个入口点就是main函数。因此,在编写程序之前,我们必须定义一个类,并且这个类中必须有个main函数。

import org.eclipse.swt.widgets.*; import org.eclipse.swt.*; import org.eclipse.swt.events.*; import java.io.*; public class FirstSWT {   // 用于记录是否已经打开或保存了一个文件,如果已经打开或保存了一个文件,   // 这个变量就是这个文件的名子   private static String fn = "";   public static void main(String[] args)   {    … …   } }

上面四个import将导入一些在本程序中要用到的jar包,前三个是SWT的包,最后一个是Java的标准输入输出包。

1、建立窗体

任何一个GUI程序,都至少有一个窗体(在本程序中只有一个窗体)。因此,下面我们就在main函数中建立这个窗体。

display = new Display(); shell = new Shell(display, SWT.DIALOG_TRIM); shell.setText("第一个SWT程序"); shell.setSize(400, 300);

在上面4行代码中涉及到了两个类:Display和Shell。这两个类都是在FirstSWT中定义的私有静态类,之所以定义成全局的,是因为在以后的按钮事件类中要使用它们。下面是它们的定义:

private static Display display; private static Shell shell;

后面2条语句通过调用Shell类的setText和setSize方法,设置了窗口的标题和尺寸。

步入SWT/JFace世界,你还等什么(3)

时间:2011-01-02 天极 李延彬

下面解释一下Display和Shell类是什么。

SWT在底层实现上分为两层:系统层和用户层。系统层就是直接和操作系统平台打交道,系统层的存在依赖于操作系统平台。在这里,系统层就是Display类。Display的功能就是在系统和用户之间架起一座桥梁,也就是说使用户访问系统资源透明化。而Shell类是直接和用户打交道,因此,它属于用户层。通过Shell类可以控制窗体中的控件、窗体本身的属性等。而Shell通过Display这座桥梁访问系统级API。

l 向窗体中添加控件

接下来我们先在这个窗体上建立三个按钮,代码如下:

Button newButton = new Button(shell, SWT.PUSH); newButton.setLocation(2, 5); newButton.setSize(50, 20); newButton.setText("新建"); Button openButton = new Button(shell, SWT.PUSH); openButton.setLocation(60, 5); openButton.setSize(50, 20); openButton.setText("打开"); Button saveButton = new Button(shell, SWT.PUSH); saveButton.setLocation(118, 5); saveButton.setSize(50, 20); saveButton.setText("保存");

按钮类是Button,在建立时,Button需要两个参数,一个是Shell对象,另外一个是按钮的类型,在本例中,我们使用SWT.PUSH类型(一般的按钮类型)。

注:和SWT相关的常量都定义在了SWT 中。

后面3条语句分别设置了三个按钮的位置,尺寸和按钮标题。

最后在3个按钮下方建立一个文本框

text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.WRAP); text.setLocation(2, 30); text.setSize(shell.getClientArea().width - 4, shell.getClientArea().height - 35);

文本框的类是Text,和按钮不同的是,由于文本框需要在按钮事件中被访问,因此,文本对象必须定义成全局的。

private static Text text;

1、添加控件事件代码

现在让我们为三个按钮控件中加入事件代码。和大多数语言不同的是,按钮的单击事件不叫Click,而叫Selection。一般需要将Selection事件代码放到一个从SelectionAdapter类继承的子类中。然后通过按钮类的addSelectionListener方法将这个事件类的实例传入按钮类的实例中。但为了简便起见,我们使用隐式建立对象的方法来建立事件类的对

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号