SWT 是IBM 搞的一个东东,他的全称是 Standard Widget Toolkit ,相对于 awt ,他拥有更好看的外表;相对于swing ,他拥有更小的内存占用,以及更少的bug 。 目前想用swt开发一个游戏中的任务编辑器 ,同时能够做成Eclipse插件的形式。这两样一个也没接触过,那就从头开始吧!
首先下载swt designer ,很好的swt开发工具 ,开发界面相当于vb 了,很人性化。
下载地址是:http://www.instantiations.com/windowbuilder/swtdesigner/
建议下载6.8稳定版,配合Eclipse3.4 ,完美组合。。。 之前用Eclipse3.5 + SWT designer 7.2 ,结果老是安装不成功,看来最新的未必是最好的,稳定才是王道!
完了之后下载一个swt designer 的注册机,生成注册码后,
在Eclipse--preferences-- Designer 中添加注册完成
至此,安装和注册部分结束。
之后是简单demo的实现 。和ActionScript 类似,swt也有容器以及显示控件的概念。swt 程序中,只能有一个Display 类,这个类是个单例模式的类,负责分发处理各个事件,Shell类是一个外壳类,也就是相当于一个window,在shell中放置各种组件。
同时,还有composite组件,相当于是flash众的panel ,用来放置各个显示对象(组件)。再放置button,或者label 之前,必须要先添加一个composite ,这样布局才比较容易。 否则,会出现有一个屏幕大小的button。。。。。。
说到布局,swt也有好多种layout ,基本相当于awt的layout ,反正都不喜欢用,还是用自己定坐标来布局——使用swt Designer的好处,就是可以拖拽 。
然后就是熟悉各种组件了,比如tree ,button ,label ,table ,menu,combo 等等,某些组件下还有子类,比如treeitem ,menuitem,等等。。。。。。基本类似于vb ,还是比较好搞的
组件需要被添加到一个容器里面,如下面这个MessageBox 被添加到了shell窗口中,调用open方法,才能显示出来
MessageBox msg=new MessageBox(shell,SWT.OK);
msg.setMessage("您选择了:"+combo_1.getText());
msg.open();
接下去就是写事件,例如给一个combo加事件:
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
Integer num=((((Combo)e.widget).getSelectionIndex()));//得到编号e.widget相当于得到当前对象,和as中的e.target类似
String str=combo.getItem(num);//通过编号得到内容
label.setText(str);
}
});
这个事件和awt也很相似,基本一样吧。。。。。。
能添加组件,能写事件,差不多就能满足所需要的功能了,开发起来还是很快捷的,swt Designer 真是java中的vb 啊!~
至此,第一阶段的试水结束。
下一个目标是写个 Eclipse 插件 (据说初入IBM的人都被要求写这个插件,看看能力。。。。。。不知真否?)
下面提供swt的学习视频,在线看的,适合入门 :
http://school.itzcn.com/video-vid-497-spid-17.html
IBM 网站上的swt全接触
http://www.ibm.com/developerworks/cn/opensource/os-swt/
还有swt的注册机,以及api,不知道从哪里传附件~~~有需要的人给我留言吧。。。。。。
期待下一篇啦~~
分享到:
相关推荐
【哈工大初试真题——部分答案】这个资料包主要包含了哈工大计算机科学与技术专业自主命题考试的部分试题及个人解题答案。哈工大,全称哈尔滨工业大学,是中国顶尖的工科院校之一,其计算机学科在国内享有很高的声誉...
《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。
在初试 Jquery EasyUI 的 Demo 中,你可以通过阅读 `初试JqueryEasyUI.docx` 和 `初试JqueryEasyUI.mht` 文件了解详细步骤和示例代码。`EasyUIDemo` 文件可能是包含实际演示的 HTML 和 JavaScript 代码,可以运行...
"antv-g6初试身手demo"是基于AntV G6 的一个示例项目,用于展示其基本功能和动态效果,帮助开发者更好地理解和应用G6。 在这个"模拟流程图动态切换demo"中,我们可以学习到以下几个重要的知识点: 1. **AntV G6 ...
江苏科技大学的商丹红老师基于网络环境,对《环境工程CAD》这门专业课程进行了分层次教学的初试,并取得了积极的效果。本文将探讨该教学模式的具体实施过程、优点、效果以及遇到的问题和解决对策。 首先,网络环境...
在南开大学研究生初试的《信息管理学》课程中,学生需要掌握的关键概念和理论包括信息管理的定义、信息学的基础知识、信息资源管理的思想及手段,以及信息管理的发展趋势和职能。 首先,信息管理是在管理科学理论的...
另眼看世界——初试泰克RSA306实时式频谱分析仪pdf,频谱分析仪是射频(包括微波,下同)行业中使用得最频繁 的仪表,它能将射频信号中最重要的频率和幅度值以谱线形式展 现在屏幕之上。它在射频工作者心中的地位等同...
数据结构与算法 (第四版)廖明宏——哈尔滨工业大学教材,考研初试参考书
【标题】: "从‘教案’到‘学案’——中学历史课堂改革初试" 【描述】: 这份文档探讨了中学历史课堂从传统的教案模式向以学生为中心的学案模式的转变,旨在提高教学效果,适应新的教育改革需求。 【标签】: 资料 ...
这套资料不仅包含了历年来的初试和复试真题及答案,还有初试专业课复习指导以及复试指导,对于考生来说,是极其宝贵的参考资料。 在飞行器动力工程这个专业领域,理解和掌握基础理论知识至关重要。"材料力学"是学习...
2021年硕士研究生招生考试大纲——环境科学与工程学院(含初试、复试考试大纲).doc
**深度学习框架TensorFlow基础教程——第7章:TensorFlow初试(线性回归)** 在本章节中,我们将深入探讨TensorFlow这一强大的深度学习框架,并通过实例介绍如何使用它来实现一个简单的线性回归模型。线性回归是机器...
【Lucene大文本建索引】 在使用Lucene处理大文本时,遇到的主要问题是内存溢出。当尝试一次性处理200M左右的文本时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`错误。这主要是由于Lucene在内存中缓冲...
09年高校初试排名09年高校初试排名09年高校初试排名
### 2009大礼包——通信——中国电信.pdf 关键知识点总结 #### 一、公司简介 - **中国电信集团公司**是一家特大型国有通信企业,也是中国最大的综合信息服务提供商。 - 拥有全球最大的固话网络和中文信息网,网络...
【哈工程 信通学院 初试真题】—— 数电与模电核心知识点详解 哈尔滨工程大学信息与通信工程学院(简称“信通学院”)的考研初试真题涵盖了数字电子技术(数电)和模拟电子技术(模电)两门关键课程。对于备考的...
csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟...
西南交通大学作为电气工程及其相关学科研究的重要学术阵地,其研究生入学考试(初试)一直备受关注,尤其是电力电子与电力系统分析这两个专业课目。对于志在报考西南交大研究生的学子而言,掌握这两个领域的核心知识...
【标题】基于C++的研究生初试录取管理系统全文件 本系统是针对研究生初试录取流程而设计的一个管理软件,采用C++编程语言在Visual Studio环境下实现。C++是一种广泛应用的面向对象编程语言,以其高效、灵活性和强大...