第四节 SWT
当Eclipse.org协会着手构建Eclipse时,他们意识到Swing和AWT都不足以构建现实世界的商业程序。于是,他们决定开发一套新的GUI开发包(toolkit)用于Eclipse界面。这个开发包借鉴了VisualAge SmallTalk中大量的库。他们把这个新的开发包命名为SWT(Standard Widget Toolkit)。认识到本地性能需要本地控件,SWT的设计者们采用了AWT的对等架构,而仅仅当本地组件不存在时(例如Motif下的树形组件)才求助于Java实现。这样,SWT吸收了AWT和Swing的精华:本地组件可用,用本地实现;本地组件不可用,用Java实现。这就同时保证了与本地窗口控件相当的外观和响应速度。
2001年,SWT与Eclipse IDE(Integrated Development Environment)集成发布。在这个版本之后,SWT发展和演化为一个独立的发布版本。它可以与众多操作系统兼容,包括Microsoft Windows,Mac OS X以及几种不同变种的Unix等。写作本书时候,官方发布的版本为2.1.3。3.0版正在公开测试,现在可以下载。本书将采用SWT 3.0。
SWT的另一个主要优势是源代码在开源许可下可以免费取得并且无病毒。这就意味着在许可下,你可以用SWT开发并发布应用程序。有源代码对理解底层行为和对调试应用程序都是很有帮助的。开源软件也倾向于比商业软件有更快的更新。