网易学院
一个简单的SWT
程序实例及详解
http://tech.163.com
2006-07-05 10:40:57
来源: 天极网
网友评论
0
条
论坛
让我们从简单的 HelloWorld
应用程序开始。
一、将SWT
添加到工程的类路径中
首先建立一个java
工程。在开始使用SWT
之前,需要将SWT
库文件添加到工程的类路径中。步骤如下:
1.
下载SWT
。在Eclipse SDK
的下载页面中,提供了独立版本的SWT
下载。找到标有SWT Binary and Source
的栏目。下载适合你操作系统的版本,不用解压,直接保存到硬盘中。
2.
在Eclipse
菜单栏,选择File-
〉Import...
打开导入向导
3.
选择Existing Projects into Workspace
,点击Next
按钮
4.
选择 Select archive file
并使用
Browse...
按钮来找到你刚才下载的SWT
文件。
5.
点击Finish
按钮,完成SWT
导入。
6.
右键点击你建立的工程,选择Properties
来打开Properties
对话框。
7.
选择 Java Build Path tab
并点击Add
按钮. -> Projects
8.
选择 org.eclipse.swt
工程, 点击 OK
,完成添加SWT
库到你的工程中(
见图1).
图 1
二、 SWT
代码
现在在你建立的java
工程中,新建一个java
文件,取名为 HelloWorld
。在HelloWorld.java
文件中把main()
方法覆盖为以下代码:
1 public static void main(String[] args) {
2 Display display = new Display();
3 Shell shell = new Shell(display);
4 shell.setText( " Hello World " );
5 shell.setBounds( 100 , 100 , 200 , 50 );
6 shell.setLayout( new FillLayout());
7 Label label = new Label(shell, SWT.CENTER);
8 label.setText( " Hello World " );
9 Color red = new Color(display, 255 , 0 , 0 );
10 label.setForeground(red);
11 shell.open();
12 while ( ! shell.isDisposed()) {
13 if ( ! display.readAndDispatch()) display.sleep();
14 }
15 red.dispose();
16 display.dispose();
17 }
注:
在覆盖了上述代码后,
选择菜单栏中的 Source ->
Organize Imports
命令 (
或者按Ctrl+Shift+O)
来把需要引用的SWT
包导入到HelloWorld.java
文件中
。
以下是对各行代码的详细解释:
第2
行:每个基于SWT
的应用程序都有一个Display
类的实例。用来将低层平台和SWT
进行链接。除了管理SWT
的事件循环,还能访问SWT
需要的平台资源。在16
行,display
实例将会提交给垃圾收集器。
第3
行:每一个窗口都有一个Shell
窗口框架,来与用户进行交互。Shell
像所有的windows
系统一样来处理动作行为,并作为窗口控件的放置场所。
第4
行: setText()
方法设置窗口的标题.
第5
行: setBounds()
方法设置窗口的大小和放置的位置.
在这个例子中,
设置窗口为200
个像素宽,50
个像素高,并放在离屏幕的左上角100x100
像素的位置上。
第6
行: setLayout()
方法 设置窗口框架的布局. FillLayout
,充满式布局管理器,使得组件大小会尽量的充满整个容器.SWT
的布局管理器会在以后详细介绍。
第7
行:在shell
上新建一个简单的label
组件并居中显示label
的文本内容。
第8
行: setText()
方法 设置label
的文本内容。
第9
行:创建一个红色的颜色类的实例。你也可以使用以下语句获得系统红色的实例:
Color red = display.getSystemColor(SWT.COLOR_RED);
第10
行: setForeground()
方法 设置label
的前景色
第11
行:到目前为止,窗口框架还是不可见的。通过open()
方法使得窗口可见。
第12
行: while
语句循环检测窗口有没有关闭。
第13
行:display
控制事件的循环. readAndDispatch()
方法从平台的事件队列中读取事件,并分配他们到合适的处理程序(
接收者)
。只要队列中一直有事件可以处理,这个方法一直返回true
,当事件队列为空时,则返回false(
因此允许用户界面UI
线程出于sleep
状态直到事件队列不为空)
。
第15,16
行:当循环检测到窗口被关闭时,需要将color
,display
和一些相关联的平台资源释放。注意到系统颜色实例(colors)
将会被提交释放。
二、 运行这个例子
通常情况下,为了启动一个java
应用程序,会使用Run As -
〉 Java Application
命令。在这里,如此运行将会抛出
UnsatisfiedLinkError
异常,说明没有找到 SWT
的本地库。如果运行 Run As > SWT Application
命令,将会弹出 SWT
启动配置窗口,见图 2
,在图 2
中可以点击 run
按钮。
图 2
点击 run
,运行结果图 3
。
来源:http://tech.163.com/06/0705/10/2L8TB7RL0009159T.html
- 大小: 35.5 KB
- 大小: 28.8 KB
- 大小: 4.4 KB
分享到:
相关推荐
【SWT TreeViewer实例详解】 在Java编程领域,特别是开发桌面应用程序时,SWT(Standard Widget Toolkit)是一个广泛使用的库,它提供了丰富的图形用户界面组件。TreeViewer是SWT库中的一个关键组件,用于创建和...
需要注意的是,一个线程中不能同时有两个活动的 Display 实例存在,否则程序运行时会抛出一个 SWT 异常。如果需要创建多个同时活动的 Display 实例必须在不同的线程中创建它们,并使用 Display 的 getCurrent 函数...
以下是一个简单的示例代码片段,展示了如何创建一个具有标题栏和关闭按钮的模态对话框: ```java import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class ShellExample { ...
SWT是IBM开发的一个开源GUI库,它是Java Swing的替代品,提供了与操作系统更紧密的集成,从而实现了更高的性能和原生外观。SWT_Designer则在此基础上提供了一个可视化的设计界面,允许开发者通过拖放组件、调整属性...
SWT (Standard Widget Toolkit) 是一个开源的GUI组件库,主要用于Java平台。它是Eclipse UI框架的基础,并被广泛应用于各种Java应用中。相比于早期的AWT和后来的Swing,SWT提供了一种更加本地化外观的用户体验,并...
本文将深入探讨一个使用SWT(Standard Widget Toolkit)框架构建的简单学生管理系统,该系统具备基本的增删改查功能,是学习和实践SWT技术的良好实例。 首先,SWT是什么?SWT是Eclipse项目下的一个开源库,它提供了...
总之,SWT API CHM文件是Eclipse开发者不可或缺的参考资料,它提供了详细的API描述和实例,能够帮助开发者更好地理解和使用SWT来创建功能丰富的Java GUI应用程序。通过高效地利用这个离线文档,开发者可以在无网络...
在Java图形用户界面(GUI)开发中,SWT(Standard Widget Toolkit)是一个广泛使用的工具包,它提供了丰富的控件集合,用于构建高性能的桌面应用程序。其中,`Table`控件是SWT中最常用的数据展示组件之一,尤其适用...
综上所述,"SWT&JFace通信录项目"是一个综合性的Java GUI应用实例,涵盖了UI设计、数据库操作、事件处理等多个重要技术点。通过学习这个项目,开发者不仅可以深入了解SWT和JFace的使用,还能掌握如何在实际项目中...
- **Display**: 显示对象,每个应用程序只有一个Display实例,它是所有Widget的顶级容器。 - **Event和Listener**: SWT事件模型允许用户响应各种事件,如鼠标点击、键盘输入等。 **3. 安装SWT类库** 我们提到的是...
SWT (Standard Widget Toolkit) 是一个开源的图形用户界面工具包,用于开发Java应用程序。它提供了一系列控件来帮助开发者构建功能丰富的用户界面。其中,`Link` 控件是用于显示可点击链接文本的一种组件,在实际...
### SWT/JFace 开发实例详解 #### 概述 SWT (Standard Widget Toolkit) 和 JFace 是两个在 Eclipse 平台上广泛使用的用户界面框架。SWT 提供了跨平台的 GUI 组件,而 JFace 则是基于 SWT 构建的一套高级 UI 工具包...
GridLayout是SWT提供的一个强大的布局管理器,它将父组件分割成一个网格,并默认按照添加顺序将子组件放入各个单元格。每个子组件占据一个或多个单元格,形成整齐的网格结构。 2. 主要属性: - `numColumns`:...
1. **创建 Shell**: Shell 是 SWT 中的一个窗口。 2. **添加组件**: 如 Button、Label 等。 3. **设置布局**: 使用 FillLayout 或其他布局管理器来管理组件的排列。 4. **打开 Shell**: 调用 `shell.open()` 方法来...
为了更好地理解SWT控件的使用,我们来看一个简单的示例:创建一个包含按钮和标签的窗口。 ```java import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; ...
首先,我们要了解SWT(Standard Widget Toolkit),这是由Eclipse基金会开发的一个Java GUI库,它允许开发者创建与操作系统原生界面风格一致的应用程序。与Java Swing不同,SWT直接与操作系统进行交互,从而提供了更...
2. **添加PaintListener**:为`Canvas`添加一个`PaintListener`,并在其`paintControl`方法中实现绘制逻辑。 ```java addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { GC gc ...
#### 1.4 Java应用程序实例 深入到具体的Java应用程序开发中,通过排序算法的实现、猜数字游戏、FTP文件传输等实例,让读者能够在实践中学习和巩固Java编程技能。这些实例不仅涵盖了基本的编程概念,还涉及到了网络...