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

SWT简单实例 SWT简单实例,涉及到了BUTTON,TEXT,COMBE,SHELL等组件,对于初步学习 SWT是个很好的例子。 立即下载
本文译自《 Eclipse.Building.Commercial.Quality.Plug.ins.2nd.Edition 》第四章第二节,详细解释了 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个像素高,并放在离屏幕的左上角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 。
 
          图 3
(以后继续)
 
SWT 各种小示例集中 SWT 各种小示例集中,确对最全,涵盖了SWT中各基础控件和jface的控件使用 立即下载

相关推荐

最全的SWT示例(绝对最全),上次文件损坏了,重传个

【上次上传的资源解压文件竟然是损坏的,对不起大家,这次重新上传一个,并且不要积分,希望能帮助大家】 这是我找到的最全的SWT示例,即使在官方网站上也非常难找,示例包括以下内容:SWT模式窗体,SWT浏览器,SWT树,SWT工具条,SWT画图工具,SWT图形,SWT各种布局,SWT剪贴板,SWT快捷键,SWT菜单,SWT文本编辑器,SWT中的任何一个控件这里面都有示例,所以非常全。 下载后先看运行效果图,由于示例太多,图中只包含了部分效果,swtexamplessrc.rar中包含所有的示例代码,拷贝到swt工程下即可运行,每一个包下的带有Example结尾的java类是带有main函数的,如:GraphicsExample.java 特别说明:由于SWT不支持MDI窗体,所以这里面没有MDI窗体的示例,需要找MDI窗体的朋友请不要下载。 上次上传的资源解压文件竟然是损坏的,对不起大家,这次重新上传一个,并且不要积分,希望能帮助大家

SWT经典入门实例

13.2  SWT程序 SWT是一套独立的库,用户可以在SWT的基础上很容易地建立自己的应用,本节的目的就是要在SWT上建立一个简单的“Hello world”程序,读者可以在这个简单程序上建立自己的应用。 13.2.1  加入SWT依赖的包 SWT为用户提供了一套API,用户如果要使用SWT进行开发,必须把所需的JAR包放在Eclipse项目的ClassPath中。在此笔者采用新建一...

江夏lz的博客 464

SWT examples,SWT官方例子

SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中

swt实例

原创:swt教程1 4.1.1 SWT程序开发步骤 在eclipse的plugins目录下,找到文件 org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,文件名中中3.2.1eclipse的版本号,v3235是SWT的序列号,不同的eclipse版本这两个数字也不同。在DOS状态下,用jar命令将该文件解压,命令格式如下: jar xf ...

刘飞 407

Execution failed for task ':app:dexDebug'.

Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\software\jdk\jdk7\bin\java.exe'' fin

xushuangshuang1的专栏 902

Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException:

调用百度地图SDK和百度定位SDK的时候出现 Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program

songlang90的专栏 731

swt登录实例

swt编写的登录实例,正确输入用户名或密码后打开主程序窗口,输入错误返回登录界面。这是我在网上搜索资料结合自己实践编写的,写出来后我很兴奋,希望对您有所帮助,我的CSDN上边缺资源分,希望您理解。

Eclipse+SWTJFace开发实战精解,SWT例子,Eclipse开发入门与项目实践+源代码

Eclipse+SWTJFace开发实战精解,SWT例子,Eclipse开发入门与项目实践+源代码

静态小波变换swt去噪matlab编程

用maltlab编程实现了平移不变量去噪的快速算法,结合例子验证该方法的去噪性能

SWT实现文字区域提取

利用SWT算法实现,c++编写,可用于图像文字提取

多个SWT例子

里面有多个SWT和JFACE的例子,包括Table,Tree,List等等,真心不错的!

java SWT官网例子

java的一套GUI库,eclipse就是用这个写的。 用来做一些界面还是很不错的。 这套例子是swt官网上的小型例子,每个文件介绍一个简单的功能。 官方网址 http://www.eclipse.org/swt/snippets/ 需要的界面效果可以再官方网址上找到说明,再查看对应的java文件即可

SWT实例学习代码例子 -- 学好swt,色色就可以写桌面应用了

包名称 package cn.iamsese.swt.study ;   定义一个类来做运行时的入口,这样可以减少main方法的使用,使自己更能进入SWT的学习   /** * 运行控制器类 */ public class Runner { public static void main(String[] args) { SimpleShell simpleShell = ...

过客阵营 -- 简单的就要最简单 396

swt动态图表实例

前段时间做了个linux信息采集系统,目的是在windows环境下监测linx主机的资源使用情况以及硬件的健康状况,采集到信息后需要以动态图表的形式显示出来,由于使用的swt的来做的界面,上网收缩后发现相关的资料很少,要么不能用,要么不适合,于是决定写个demo,方便以后使用,希望对有需要的人有所帮助。本demo使用的是jfreechart组件,这个demo是根据官网的demo改的,为了方便使用Li

4168

eclipse java swt_Eclipse下搭建SWT开发环境

0.序言还是老风格,从头写些基本的东西,帮助自己,也帮助正处于困惑中的别人。今天介绍的是Eclipse下的SWT的配置过程。自己前两天要做个项目,配置了半天都不正确,后来慢慢总结了一下,不同环境配置的方法可能略有差别吧。1.什么是SWTjava的人一定都知道AWT和Swing,而SWT(Standard WidgetToolkit)则是由Eclipse项目组织开发的一套完整的图形界面开发包,虽然...

weixin_42300040的博客 751
下一篇: SWT组件的生命周期(续一个简单的SWT程序实例及详解)
hotzz9
博客等级 码龄23年 0粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值