照着别人的例子:
搞了下:
下载了一个包swt-3.0.1-win32
1:解压 导入到项目的构建路径中
2:swt-win32-3063.dll放在jdk的bin下面
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class SwtTest {
public static void main(String[] args)
{
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("Hello Word");
shell.setBounds(100, 100, 200, 50);
shell.setLayout(new FillLayout());
Label label=new Label(shell,SWT.CENTER);
label.setText("hello world");
Color red=new Color(display,255,0,0);
label.setForeground(red);
shell.open();
while(!shell.isDisposed())
{
if(!display.readAndDispatch())
display.sleep();
}
red.dispose();
display.dispose();
}
}
以下是对各行代码的详细解释:
第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 命令。通过
分享到:
相关推荐
【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编程技能。这些实例不仅涵盖了基本的编程概念,还涉及到了网络...