SWT概述

来源:互联网 发布:苏州网络耗材批发 编辑:程序博客网 时间:2024/06/08 04:07

SWT技术是一套基于Java的第三方图形工具库。它的设计思想是提供一套通用的API,使得开发出的图形程序不仅可以不加修改地在平台间移植,而且外观上和速度上与使用C/C++等语言在操作系统平台上开发出来的本地图形程序毫无差别,还可以使用鼠标拖放操作、系统托盘等高级的系统服务。

SWT与AWT/Swing源自两种完全不同的设计思想,二者各有所长。
Swing是Sun公司设计的一套图形工具箱,它的目标是打造一套跨平台的图形界面开发工具。从最早的AWT到后来的Swing,Sun一直坚持着“界面跨平台”的理念,图形界面无论在那一个平台下面运行,风格都要保持不变。用户可以通过在Swing提供的显示风格中选择喜欢类型而设置程序的风格。
这种设计的初衷是从用户的角度出发,但随之而来的问题就是Swing不能直接用操作系统提供的图形显示功能而只能“模拟”它们,即Swing必须自己“画“出和目标操作平台的风格相似的界面。
Swing采用了模型和显示分离的方法。控件本身并不包含任何和绘图相关的代码,而是将绘图代码分离到另外的类–UI类中。UI类的结构和Swing控件的类型结构是一一对应的。

下面我们来编写第一个SWT示例,SWT相关包的下载地址为:http://www.eclipse.org/swt/

package com.gujin.swt;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.Shell;public class HelloSWT{   public static void main(String[] args)   {      Display display = Display.getDefault();      Shell shell = new Shell(display);      Label hello = new Label(shell, SWT.NONE);      hello.setBounds(10, 10, 100, 30);      hello.setText("Hello SWT");      shell.open();      shell.pack();      while (!shell.isDisposed())      {         if (!display.readAndDispatch())         {            display.sleep();         }      }      display.dispose();   }}

运行结果:

这里写图片描述

0 0
原创粉丝点击