H5W3
当前位置:H5W3 > 其他技术问题 > 正文

一个简单的SWT程序实例及详解

  让我们从简单的 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个像素高,并放在离屏幕的左上角100×100像素的位置上。   第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 。

图 3

本文地址:H5W3 » 一个简单的SWT程序实例及详解

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址