您的位置:首页 > 编程语言 > Java开发

SWT概述

2016-04-29 22:10 246 查看
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();
}
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java SWT