Java程序设计之swt教程 下载本文

类。还可以将MySelectionListener类单独写成一个类文件,成为外部类。读者可以自己尝试一下。

4.6 SWT Designer简介

SWT Designer是一种功能强大且容易使用的基于Eclipse SWT技术的图形用户界面设计工具,是一个很好的Eclipse的界面开发插件包。利用SWT Designer的可视化界面,只需采用拖拉操作,就可以很快地在窗体上创建各种组件,设计出来的窗体和组件的外观和操作系统平台下其他软件的外观相似,具有本机系统的风格。SWT Designer可以自动生成Java代码,利用它的属性编辑器还可以改变组件的各种属性,使SWT界面开发变得非常容易。

4.6.1 SWT Designer的下载和安装

SWT Designer有多个版本,要和相应的Eclipse版本相匹配。本书使用Eclipse3.2,SWT Designer6.1.0。安装步骤如下:

1.下载

下载版本:SWT Designer6.1.0,文件名:Designer_v6.1.0_win32_x86.exe,下载地址: http://www.swt-designer.com/download_content.html 2.安装

在Windows下双击文件名,可自动安装在指定的目录下,且自动在Eclipse的links目录下生成com.instantiations.designer.link文件。安装结束后,启动Eclipse,在主菜单中选择【文件】→【新建】→【项目】,如果在弹出的“新建项目”对话框中多了一个“Designer”项,则表示SWT Designer安装成功。如图4.41所示。

3.注册

在Eclipse主菜单中选择【窗口】→【首选项】,弹出一个对话框,如图4.42,单击左边树形目录中的Designer,然后单击对话框右下方的【Registration and Activation】按钮,弹出对话框,如图4.43所示,在Serial number栏中输入产品序列号,在Activation Key栏中输入产品激活号,单击【完成】,即可激活。SWT Designer有免费版、评估版和正式版,免费版只有有限的功能,评估版需要填写用户资料和E-mail地址,从E-mail中可以获得Activation Key,评估时限为2周。正式版则要购买产品,才能获得Activation Key。

图4.41 新建项目

图4.42

图4.43

4.6.2 SWT Designer开发实例

本节通过创建一个项目,熟悉一下SWT Designer的主界面及其相应的组件。操作步骤如下:

①创建SWT/JFace项目

在Eclipse主菜单中选择【文件】→【新建】→【其他】,弹出“新建”对话框,展开Designer节点,选择“SWT/JFace Java Project”,再单击【下一步】,出现“创建Java项目”对话框,输入项目名,如SWTDesigerTest,单击【完成】。

②创建Application Window窗体 右单击项目名(SWTDesigerTest),选择【新建】→【其他】,在“新建”对话框中,展开Designer节点下的SWT节点,选择“Application Window”,再单击【下一步】,在弹出的对话框中输入包名和类名,在下方的单选项中选择“public static main() mathod”, 该选项会自动生成main()方法,使窗体能独立运行。单击【完成】。在程序编辑区的下方,有【Source】和【Design】两个标签,选择【Source】标签,则在程序编辑区中显示源程序;

选择【Design】标签,则在程序编辑区中出现一个窗体。

③在窗体中加入组件

加入2个标签组件(Label)、2个文本框组件(Text)和2个按钮组件(Button),如图4.44所示。

图4.44 SWT Designer界面

图4.44是SWT Designer完整的界面。该界面的左侧是属性编辑器(Property Editor),属性编辑器又分为上、下两部分,上面是一个树形目录,显示了组件间的继承关系。下面有两个标签,一个是属性(Properties)标签,一个是事件(Events)标签。选中属性(Properties)标签可打开属性页,可以编辑当前组件的各类属性。如图中当前组件是一个按钮(Button),在属性页中把text属性改为“提交”。还可以改变组件显示的文字的字体(font)及其他属性。

④添加事件处理代码

在图4.44中的属性页中,选中事件(Events)标签可打开事件页,如图4.45所示,可以添加各种事件。选择需要添加的事件,在右侧空格双击,可自动生成相应的事件处理方法。如图中添加了组件选择事件(widgetSelected),相应的事件处理方法自动生成在源程序的第

48行,可以在方法中加入事件处理代码。也可以在窗体中双击需要生成事件处理方法的组件,如本例中在窗体中双击“提交”按钮,会自动生成widgetSelected()方法,并打开源程序,光标

停留在该方法的头部。在方法体中加入以下代码:

if(text.getText()!=\|text_1.getText()!=\) //调用JFace的信息对话框显示登录信息

MessageDialog.openInformation(shell,\登录信息\,\欢迎\+text.getText()+\进入系统!\);

else

//调用JFace的错误对话框显示出错信息

MessageDialog.openError(shell,\错误\,\用户名或密码为空,请重新输入!\);

由于用到了JFace的对话框,在程序的前面要引入相应的包:

import org.eclipse.jface.dialogs.*;

输入密码时要在密码框显示“*”,需要添加SWT.PASSWORD选项:

final Text text_1=new Text(shell,SWT.BORDER|SWT.PASSWORD;

图4.44的中间部分为组件选择面板(Pallete),可以展开相应的文件夹,用拖曳的方法在窗体中加入各种组件。图4.45为组件文件夹(SWT Controls)被展开,下面显示的组件被选中后,可加入到窗体中,用拖曳的方法可改变组件的大小和位置。图4.46为布局文件夹(SWT Layouts)被展开,可以选择适当的布局方式为窗体布局。

图4.45 Events页 图4.46SWT组件 图4.47SWT布局 ⑤运行程序

在Eclipse包资源管理器中,右单击文件名,在弹出的菜单中选择【运行方式】→【SWT应用程序】,运行结果如图4.48所示。输入用户名和密码,点击【提交】,则出现用户登录对话框,如图4.49所示。如果用户名或密码为空,则出现错误提示对话框,如图4.50所示。

图4.48 用户登录窗体

图4.49 用户登录对话框