SWTDesigner简介

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

1.SWT Designer 的下载和安装

SWT Designer 有多个版本,要和相应的Eclipse版本相匹配。我使用的是 Designer_v6.7.0_for_Eclipse3.2.zip。安装步骤如下:

1.1 下载

下载版本:Designer_v6.7.0,文件:Designer_v6.7.0_for_Eclipse3.2.zip,下载地址: 大家自己搜下,呵呵。

1.2 安装

Designer_v6.7.0_for_Eclipse3.2.zip解压缩到Eclipse的安装目录中。安装结束后,启 动Eclipse,在主菜单中选择【文件】→【新建】→【项目】,如果在弹出的“新建项目”对 话框中多了一个“Designer”项,则表示SWT Designer 安装成功。如图1所示。

图1

1.3 注册

在Eclipse 主菜单中选择【窗口】→【首选项】,弹出一个对话框,如图2,单击左边树 形目录中的Designer,然后单击对话框右下方的【Registration and Activation】按钮,弹 出对话框,如图4.43 所示,在Serial number栏中输入产品序列号,在ActivationKey 栏中 输入产品激活号,单击【完成】,即可激活。

图2

SWT Designer 有免费版、评估版和正式版,免费版只有有限的功能,评估版需要填写用 户资料和E-mail 地址,从E-mail 中可以获得Activation Key,评估时限为2 周。正式版则 要购买产品,才能获得Activation Key。

2. SWT Designer 开发实例

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

2.1创建SWT/JFaceProject

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

2.2创建Application Window 窗体

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

2.3在窗体中加入组件

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

图4 SWT Designer 界面

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);

2.5运行程序

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

图6 用户 登录窗体

图7 用户 登录对话框

图8 错误信息对话框

2.6 程序源程序

源程序

import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import org.eclipse.jface.dialogs.*;public class login {  private Text text_1;  private Text text;  protected Shell shell;  /** *//**   * Launch the application   * @param args   */  public static void main(String[] args) {    try {      login window = new login();       window.open();    } catch (Exception e) {       e.printStackTrace();    }  }  /** *//**   * Open the window   */  public void open() {    final Display display = Display.getDefault();    createContents();     shell.open();    shell.layout();    while (! shell.isDisposed()) {      if (!display.readAndDispatch())         display.sleep();    }  }  /** *//**   * Create contents of the window   */  protected void createContents() {    shell = new Shell();     shell.setSize(411, 359);    shell.setText("SWT Application");    text = new Text(shell, SWT.BORDER);    text.setBounds(197, 109, 142, 25);    text_1 = new Text (shell, SWT.BORDER|SWT.PASSWORD);    text_1.setBounds(197, 173, 142, 25);    final Button button = new Button(shell, SWT.ABORT);    button.setText("提交");    button.setBounds(85, 263, 48, 22);    final Button button_1 = new Button(shell, SWT.ABORT);    button_1.addSelectionListener(new SelectionAdapter() {      public void widgetSelected(final SelectionEvent e)       {      }    });    button_1.setText(" 取消");    button_1.setBounds(247, 263, 48, 22);     final Label label = new Label(shell, SWT.NONE);    label.setText ("用户名");    label.setBounds(106, 112, 48, 22);    final Label label_1 = new Label(shell, SWT.NONE);     label_1.setText("密 码");    label_1.setBounds(106, 176, 48, 25);    button.addSelectionListener(new SelectionAdapter() {      public void widgetSelected(final SelectionEvent e)       {        if(text.getText()!=""|text_1.getText()! ="")//          调用JFace的对话框显示登录信息           MessageDialog.openInformation(shell,"登录信息","欢 迎"+text.getText()+"进入系统!");          else//          调用JFace的对话框显示出错信息           MessageDialog.openError(shell,"错误","用户名或密码为空,请重新输入 !");      }    });  }}

烦恼忧愁不用追,吃点好的别嫌贵,

SWTDesigner简介

相关文章:

你感兴趣的文章:

标签云: