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

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,"错误","用户名或密码为空,请重新输入!");
      }
    });
  }
  
}

SWT Designer简介相关推荐

  1. SWT Designer下载与安装

    1.在http://www.swt-designer.com/下载与你使用的eclipse版本相对应的swt designer插件; 或者这里http://www.instantiations.com ...

  2. java swt designerpdf_eclipse学习笔记!(4) ----- SWT Designer 下 SWT常用组件

    一个button类的实例 基本的步骤和之前的是一样的,一个SWT的项目,然后在页面设置面板里添加button.双击button(直接在source里面添加了监听器的代码).下面是代码: publicc ...

  3. 可视化Web报表设计器-FastReport Online Designer简介

    FastReport Online Designer是FastReport.Net的网页版. >>FastREport Online Designer在线体验 >>FastRE ...

  4. Altium Designer简介及使用流程

    Altium Designer(简称AD)是一个设计原理图和PCB的专业软件,功能十分强大,且使用方便,比较容易上手.它的前身大家也比较熟悉,就是Protel.在学校里学习的就是Protel,不过除了 ...

  5. 关于Eclipse平台的使用和开发第一个SWT程序

    IBM把投入巨资开发的Eclipse作为一个开源项目捐献给了开源组织Eclipse.org Eclipse出色而有独创的平台特性,现在仍由IBM子公司OTI(主要从事Eclipse开发的人)继续领导着 ...

  6. 如何在Eclipse 3.6.2中安装swt/JFace

    如何在Eclipse 3.6.2中安装swt/JFace 原文http://blog.csdn.net/nkliming/article/details/7790288 我之前一直想安装过swt,但是 ...

  7. swt eclipse 3.6

    Eclipse 3.6 的下载与安装 1.登录http://www.eclipse.org/downloads/,现在Eclipse的最新版本是3.6.1,在打开的页面选择要下载的版本,如图1红框标记 ...

  8. eclipse下搭建SWT图形界面开发环境

    什么是SWT 参考:http://www.cppblog.com/baby-fly/archive/2009/10/20/99008.html 用java的人一定都知道AWT和Swing,而SWT(S ...

  9. java swt 计算器_JAVA开发简易计算器界面-SWT

    大家好,我是成都[LD],博客四年前就申请了,一直没打理,最近正好有时间,遂萌生了写技术博客的念头.我不得不感慨现在新技术更新很快,一不小心,就感觉自身就Out了.记得一年前,当时我也是在51CTO上 ...

最新文章

  1. 倒计时2天 | 专属技术人的盛会,为你而来!
  2. http2-stream-optima-prioritation
  3. Java 中日期的几种常见操作 —— 取值、转换、加减、比较
  4. phpStudy mysql升级至5.7
  5. 基于图卷积(GCN)和规则卷积(CNN)的情绪识别
  6. 群晖docker_利用群晖docker搭建Minecraft服务器:图形界面操作,傻瓜式教程(附官方服务器端地址)_NAS存储...
  7. 1w存银行一年多少利息_2020年,在中国邮政储蓄银行存20万,一年能拿到多少利息?...
  8. left join 大表放前面_带娃时,走在孩子前面与跟在孩子身后区别很大,很多父母都做错了...
  9. 贵州支教之第二天(11月8日)
  10. 由微博图床挂掉之后想到的
  11. Unity PC打包后日志查看
  12. java word 批注_Java 添加Word批注(文本、图片)
  13. php反序列化漏洞 freebuf,入门Web需要了解的PHP反序列化漏洞
  14. 爬取豆瓣top250电影并分析
  15. C3P0访问数据库死锁,com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@128e59b3 -- APPARENT
  16. Linux 上安装iib 9.0
  17. fcpx插件:Stupid Raisins Look Pop(30个时尚标注插件)
  18. 大厂面试系列(七):数据结构与算法等
  19. R语言使用二元回归将序数数据建模为多元GLM
  20. 错误:Element type “select“ must be declared.

热门文章

  1. Altium Designer如何打印清晰的底层丝印
  2. 实例:身体质量指数BMI
  3. <cstdio> stdio.h头文件
  4. Javaweb教程(2023-1-10)
  5. 【Java编程】02_面向对象
  6. Neutron三层网络服务实现原理
  7. Java反射方法赋值,java反射挟制赋值
  8. 用友NC57安装部署详解篇
  9. 租域名+域名解析+网站ICP备案——阿里云服务器
  10. sybase数据库配置环境搭建