没有合适的资源?快使用搜索试试~ 我知道了~
SWT JFace IN ACTION(中文版)
4星 · 超过85%的资源 需积分: 10 68 下载量 21 浏览量
2009-06-27
15:09:31
上传
评论
收藏 1.5MB DOC 举报
温馨提示
试读
64页
We developed this book with one primary goal in mind: to introduce the SWT and JFace toolsets as simply and as thoroughly as possible. Although the available doc- umentation covers many aspects of the two libraries, we were disappointed by the amount (particularly in graphics) that has gone undocumented. So, we came together in late 2003 to create an approachable book that covers both the high-level theory and the low-level details of the combined SWT/JFace development tools.
资源推荐
资源详情
资源评论
SWT /JFace IN ACTION
1
第一章 和 概览
本章涵盖内容
和 的目的
它们形成的理由
这两个类库如何区别于
许可证和平台支持
在 年三月, 开发者年度大会宣布了由其读者选择的最佳 组件年度奖结
果,超过 位开发者投票选举诸多 工具套件(当然包括不少声名显赫的供应
商如 和 等)之一。但最终, 的标准小部件工具套件轻易地击败
诸多强手,如同其在 年一样赢得了年度最佳。
虽然 是 开发领域的迟到者,但其同样在 ! 和
"#$ 社区获得了荣耀。一路而来如潮的掌声和好评彰显了 对于 开
发的巨大冲击和影响。在过去的每一天,全球的 开发者们不断被 和 强
劲的功能和部署新插件和独立应用程序的能力所折服。
本书的主旨就是在于向你展示这一功能套件的功效和你如何将其应用于你现成的项目之
中去。需要指出的是:
开发基于 % 的应用程序
用 内置的图形语义环境生成定制化图形
理解 和 后面的结构和方法论
开阔你的 &'()&*'(+,-设计的知识面
2
构建和部署 的 和 应用程序或独立应用程序
最重要的是 &'( 开发应当是一项充满乐趣的工作!没有一个编程工作能给你这样子的快
感。因此,我们将 和 的理论用实例代码贯穿始终来显示 &'( 开发实践。但
在开始之前,我们需要向您简要阐明该技术是什么和它能帮你作什么。
.什么是 %/
虽然我们都知道 和 是工具(套件),但更科学地讲它们是软件类库。它们
由包含 0 类和接口的文件包组成。但又是什么使得这些组件能让你任意组合 &'(
呢?你的应用程序可以快速运行,高效运用计算机内存并有着和操作系统界面相同的界
面体验,没有其他的 &'( 构建体系可以如此。虽然 和 实现了相同的功能,
但它们产生用户界面的机理却是迥然不同的。
我们试图通过汽车驱动机理来类比这一情况: 开发就像标准的汽车驱动模式,它给
了你更多的控制权力,并有机会接触系统内部的东西,但是其使用是相当复杂的;而
情况下,就像是汽车的自动驱动模式,你不必深入太多,但是你丧失了灵活性。
当然,实际情况肯定比这个比喻要更为复杂。所以我们需要更进一步的讨论这两个类
库。
..用 构建 &'(
每一个操作系统都会有大量的图形组件来构成其默认的用户界面。这一些包括有:按
钮、窗口、菜单以及诸如此类。 的目标就是给予你直接获得这些组件的途径,然后
如你所愿地将它们定位和设置。你不必担心最终用户的操作系统如何,当你在应用程序
中加入一个按钮,它就会在 中表现得如同 得按钮,在 1 中如
1 的按钮,当然在 "#$ 中亦是如此。用户会认为你这是为他们的机器定制,而他们
并不清楚事实上你仅用 写了一遍代码。
除了图形组件, 还提供事件处理,这意味着你可以追踪你的用户按下了哪个按钮或
是选择了哪个菜单项目。这一强劲的功能使得对用户任意形式输入产生反应成为可能。
3
接下来我们会花大量篇幅来演示这是如何运作的。
最后,如你想在你的应用程序中加入图形, 提供大量的工具来产生图形,处理新字
体或是绘制形状。这些图形可以使得你不尽可以构建图形,还可以让你控制图形何时、
何地和如何地在你的 &'( 中显现。本书会向你演示 如何管理颜色、绘图、字体、
图案,并贡献了大量的实例代码。
提供了构建用户界面的巨大能力,但是将如你在本书中所见,代码将会变得冗长而
且复杂。正因如此, 的设计者推出了 &'( 开发的第二个类库:。
..用 来简化 &'( 开发
为避免一遍遍地使用 来写重复的代码, 的设计者用 工作台产生了
。这个类库提供大量的快捷方式以削减因单独使用 而大量耗费的时间,但另
一方面, 不能完全取代 ,许多 &'( 的开发还需要两个套件的特性。
Jface 高效的一个例证就是其事件处理。在许多用户界面中,你或许要处理诸多不同的
事件,如:点击按钮、敲击键盘或者菜单项选择,而事实上如上事件都在实现同一功
能,在此情况下, 的处理方式是需要对每一个事件单独安排接受和处理过程;而在
中允许你将他们组合成一个单一对象,这样你可以集中精力于如何应对事件(对
象)的处理,而不必理睬事件是如何激发的。这一简单但强力的概念使得你可以在你的
&'( 中加入菜单、工具条或甚至是调色板而不需加入一大堆代码。
, 另一个有助益的地方就是当你在构建大型的多窗口、多图形的 &'( 时,它可以通
过其特有的注册类来帮你组织 部件和管理内存开销。举个例子,在 中,你需
要把你应用程序中的字体和位图的生成和分布要予以说明;而在 中,你大可使用
其内置的 +2+3 和 (42+3 对象来处理这些乏味的问题。
现在你应该基本理解了这两个类库的特性,接下来我们要更进一步以阐明它们的一些设
计概念。
我们将快速浏览如下这些论题:它们是如何在操作系统中表现的,初始产生又是如何的
等等。
4
.揭开其面纱
在用户街面上添加组件、事件和图形并不是新鲜玩意儿了,然而 和 何以会
激起千层浪呢?在这里你需要理解设计者的孤心苦诣了。而这又要牵涉到深层次的
&'( 开发的原则问题以及如何使用这些类库等等。而在我们深入探讨 % 和
之前,我们还是有必要介绍一下 。 和 的产生也正是 类
库(的不争气)而产生,通过比照这 和 两个类库的涉及哲学,你会更折服
与 和 的运行机制;通过这些,你或许也会加入到 开发的 和
% 两大阵营日益白热化的争论之中。
..:老的替代品
当 # 在 556 年发布 类库时, 开发阵营相当的欢欣鼓舞。因为最终 #
能够以这一工具套件的平台无关的特性来实践其“编写一次,到处运行”的信条
了。 也成为之后 &'( 开发的最为流行的工具。
但随着时间的推移,许多开发人员又失望了:# 在造就 迷人特性的同时,也使
得程序开发日见复杂,运行效率日益低下。正因如此,很少有看到成功的 &'( 开
发的桌面应用。
的渲染
为了确保界面在跨平台是能保持一致, 对用户界面的每一个细节的渲染进行完全
控制,也就是 虚拟机指令到其组件的每一个象素和具体行为。虽然 也同底
层平台保持通信,
但是却不使用操作系统任何已内置的对象,即其白手起家,创建每一个对象。因为这些
组件都运行于较高层次,它们被引喻为轻量级组件。这些组件在任何 支持的平台上
表现一致。
但是这种方式是有缺陷的,因为 71 要管理细化到 &'( 的每一个细节表现和行为,相对
于直接依于操作系统的应用程序运行就十分缓慢了。而用户来说,他们绝大多数都偏好
于操作系统的界面特性。
5
剩余63页未读,继续阅读
资源评论
- zmjzmj01232011-09-29WORD文档,排版比较混乱。翻译质量一般,但有就不错了。可以自己参考英文原版学习。还是比较不错的。 最起码可以比较方便的修改它
- superzj212012-11-24感觉这应该是某个热心网友自己翻译的。热情可嘉,但排版啊,翻译质量啊,确实一般。想学习的朋友还是应该下载那本英文,如果看英文时遇到个别句子或单词不好理解,可以对照着这本翻译看看作为参考。
haizhanmeng
- 粉丝: 8
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功