09 2011 档案
摘要:第六节 本章小结 返回目录 尽管刚刚解开JFace的面纱,你已经可以看出它的一些好处了[3]。通过对SWT一些细节的抽象,JFace允许你将注意力从“你的程序如何工作”转移到“你想要你的程序做什么”上。抽象是面向对象编程的中流砥柱,它的力量让程序开发更加简单。 使用JFace要求和程序一起发布更多的库,别对此感到恼火。不管怎样,毕竟你将会从...
阅读全文
摘要:第五节 关于WindowManager的一些话 JFace包含一个叫WindowManager的类[2],它并不会控制窗口的外观,也不会管理用户和窗口的交互,而是将窗口编组,这样你就可以迭代的访问它们或者将它们整组的关闭。WindowManager的实例拥有窗口,也可以同时可选的拥有其他WindowManager的实例。WindowManager提供了两种构造函数,在表13-1中列出...
阅读全文
摘要:第四节 ApplicationWindow类 返回目录 本章中的HelloWorld程序继承了ApplicationWindow类。ApplicationWindow正如它的名字一样,表示了一个窗口应用程序。它有一个父亲Shell,是从构造函数传进去的: ApplicationWindow(Shell pare...
阅读全文
摘要:第三节 SWT和JFace的关系 返回目录 不要觉得前面学习SWT是在浪费时间,觉得一旦拥有JFace之后就再也不用见到SWT了,事实上SWT决不仅仅总是简单的被JFace调用[1]。不但抽象会有漏洞,而且JFace也没有覆盖SWT的全部。尽管你沉浸在JFace当中,你仍然可以从SWT的知识中得到许多好处。 因为JFace使用了SWT,并且因为JFace是构建...
阅读全文
摘要:第二节 问候JFace的世界 返回目录 HelloWorld程序又一次向世界问候了,不过这一次是用JFace。因为JFace添加了一些Java库(但是并没有本地库——记住它是建立在SWT之上的),你需要一个新的Ant文件(见清单13-1)去生成和运行这个程序。 清单13-1: build...
阅读全文
摘要:第一节 概述 返回目录 毕加索在他的抽象艺术中,仅仅描绘他主题中的本质元素。商业建议或者其他书面文本通常带有内容的摘要或者总结。在这样的心境下,面向对象编程宣扬抽象性——消除无关因素,只保留必须的。例如,如果要开发一个给兽医用的管理软件,你会创建一个Dog类(继承自一个Pet类),包含和狗相关的内容。这个Dog类表示了对真实生活中狗的抽象,但它并不是一个精确的狗的模型...
阅读全文
摘要:第五节 使用GridLayout 返回目录如果读者只打算学习一种layout,那就是GridLayout。GridLayout封装了读者想要学习的绝大多数能力,适用于从简单到复杂的应用。就像它的名字暗示的那样,GridLayout在网格中徘布控件。通过复合控件在GridLayout中嵌套使用GridLayout,读者可以构建复杂的layout。GridLayout有两个构造函数,列在表4-3中。 表4-3: GridLayout的构造函数 构造函数 说明 public GridLayout() Constructs a default GridLayout. public GridLayout
阅读全文
摘要:第四节 使用RowLayout 返回目录 RowLayout与FillLayout很相似:它把所有的控件放在一行或一列中。但是,它不会把所有的控件都设为相同的大小。如果空间不够,它会把控件放到另一行或另一列中。 ...
阅读全文
摘要:第三节 使用FillLayout 返回目录 FillLayout是布局类中最简单的,它把所有的控件放在一行或一列,并使它们有相同的大小。它有一个公有(public)的属性和类型,决定控件是放在一行还是放在一列。可以把类型传递给构造函数,也可以在构造函数后设置类型。FillLayout的构造函数请参见表4-1。 ...
阅读全文
摘要:第二节 布局(layout) 返回目录 在composite中的控件(controls in a composite)与这个composite之间,布局为它们提供了松耦合层(decoupling layer)。布局一般使用平台无关的方式,而且通常在父窗体改变大小时保持相应大小(maintains relative sizing)。可以通过composite的setLayou...
阅读全文
摘要:第七节 本章小结 返回目录 基于SWT的程序通过Display对象与底层的视窗系统建立连接。窗口,控件和事件都是构建于这个至关紧要的对象之上并通过它传递。在程序中创建的窗口都是Shell。本章构建了必须的“Hello, World”SWT程序并讲解了SWT背后的设计。现在我们知道如何创建控件,如何清除自己的控件,以及不要去碰那些不属于我们的东西(控件)。 下一章,我们将学习如何把窗...
阅读全文
摘要:第六节 SWT类的常量与函数 返回目录 SWT类有一堆类级别(class-level)的常量和方法用来简化SWT编程。 没有什么事情阻止您创建一个SWT对象,因为创建一个不会带来任何坏处。SWT类继承于java.lang.Object,它没有定义构造函数,所以默认的构造函数会被调用。然而,一个SWT对象除了继承于java.lang.Object的状态,没有任何状态(state),本...
阅读全文
摘要:第五节 剖析Shell对象 返回目录 Shell对象代表了一个窗口——要么是个顶级窗口,要么是个对话框。它容纳(contain)了各种各样的控件以构建应用程序:按钮、文本框、表格等等。它有六个构造函数,其中两个已不推荐使用,而且将来的发行版可能不再支持它们。构造过程沿用了SWT传递一个容器(parent)和一个样式(或者多个样式的位与or),有些构造函数允许单个或两个参数使用默认值。表3...
阅读全文
摘要:第四节 剖析Display对象 返回目录 Display对象是程序级别的SWT类与底层视窗系统实现之间的连接。Display类是依赖与视窗系统的,在某些平台上可能还会有一些附加的API函数。这里,我们只讨论广泛适用的那部分API。 通常,程序有一个,仅有一个Display对象(这是某些视窗系统底层的限制)。默认地,创建display对象的那个线程,就是执行事件循环、作...
阅读全文
摘要:第三节 剖析SWT的设计原则 返回目录 在第一章我们已经介绍过,SWT使用底层操作系统提供的本地控件库,它仅仅是程序与底层系统交互的Java接口。本地控件的生命期(lifecycle)就像是Java控件对象的一个镜中像:创建Java控件的时候,本地控件同时被创建;销毁Java控件的时候,本地控件也被销毁了。这种设计避免了一种情况的出现,就是底层控件还没有创建的时候调用代码控件的方法(m...
阅读全文
摘要:第二节 剖析代码 返回目录 下面几行代码表明需要引入(import)哪些包: import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; 大多数使用S...
阅读全文
摘要:第一节 SWT版的“Hello, World” 返回目录 新手总是渴望向代码世界致意。本章,将引导您创建第一个SWT程序——那个不可避免的“Hello, World”。它阐释了SWT如何工作,并贯穿了以后使用的主要的SWT对象。它还会谈论SWT控件的生命周期。 在前一章的BlankWindow基础上,做一点小小的修改,就可以把他转变成规范的“Hello World”程序。具体来说说...
阅读全文
摘要:第七节 本章小结 返回目录 本章,我们认识了Eclipse.org的旗舰产品Eclipse,以及很多与它一起提供的强大工具。它(们)既是开发Java程序的IDE;又包括了开源库SWT和JFace,使得我们可以开发卓越的程序。同时,我们也知道了SWT与JFace不依赖Eclipse——这样就可以继续使用个人喜欢的开发工具来构建SWT与JFace程序。 下一章,我们将探索SWT,并编写第一...
阅读全文
摘要:第六节 Eclipse的替代方案 返回目录 您是不是认为IDE是给菜鸟用的,真正的程序员都在用Emacs或vi的?或者您喜欢IntelliJ IDEA而不愿换成另一个IED?或许您没有一分钱,没有一丝硬盘空间,只有一丁点内存;或是您打算在Windows的记事本上做所有的开发;也可能您从没离开过Visual SlickEdit或CodeWright。那么SWT适合您吗? 答案是肯定的。尽...
阅读全文
摘要:第五节 获取帮助 返回目录 Eclipse安装了大量的在线文档,包括SWT和JFace库的概述(overviews),新手入门(tutorials),和Javadocs。从主菜单中选择Help->Help,就可以获得帮助。帮助窗口如图2-13所示。 图2-13 Eclipse的帮助窗口 Eclipse访问(Eclipse协会)内部的Web服务器来显示帮助内容,因此,您在使用防...
阅读全文
摘要:第四节 添加SWT库 返回目录 在Eclipse环境下创建SWT程序,必须设置Java build path (或classpath),以便包含SWT的JAR文件(swt.jar)。我们来编写一个简单的SWT窗口程序,验证一下已正确设置了生成SWT程序所需的环境。 在package explorer窗口中早先创建的工程名上,点右键,选择New->Class。在class name中输...
阅读全文
摘要:第三节 创建第一个程序 返回目录 启动Eclipse的时候,您会看到工作区(workspace),它是工程的容器。在初始的工作区中没有任何工程,如图2-2。 图2-2 Eclipse主窗口 没有工程(project)的时候您几乎什么也做不了,所以在菜单中选择File->New->Project。您会看到一个如图2-3所示的对话框。 图2-3 新建工程(New ...
阅读全文
摘要:第二节 安装Eclipse 返回目录 Eclipse.org站点提供整个Eclipse系统的下载,包括SWT和JFace。下载主站是http://www.eclipse.org/downloads。从主站链接出去的一些镜像站点上,也提供Eclipse的下载。您可以下载Eclipse的可执行文件或是它的源代码。源代码有两种形式;ZIP文件和CVS;可执行文件是特定平台的ZIP包。 Ec...
阅读全文
摘要:第一节 概述返回目录据Eclipse.org的新闻稿,2001年11月,为了“创建更好的产品集成和开发环境”,一个由多个技术公司组成的协会成立了[1]。这个协会的主要成员有:IBMMerantBorlandRationalRed HatSUSE LINUX 这个命名为Eclipse.org的协会不久就发布了它的旗舰产品,Eclipse,一个用于开发Java程序的、开源的、可扩展的IDE。Eclipse迅速引起了开发人员的注意:2003年3月,2.1版发布的时候,2天之内就被下载了7,000,000份;3个在线的Usenet新闻组活跃着大量Eclipse用户;对Eclipse(http://ww
阅读全文
摘要:第六节 本章小结 返回目录 从最开始Java就提供了构建跨平台的窗口GUI库,从AWT,Swing到现在的SWT和JFace。最初的工具包能力微弱,但是随后的开发包改进了先前工具包的缺点并取得了巨大的进步。SWT和JFace不仅使Java成为一个构建桌面应用程序的可行的选择,也使之成为一个具有优势的开发平台。尽管过去对得到轻便和强大的Java系统的尝试必然意味着接受它在GUI方面...
阅读全文
摘要:第五节 JFace 返回目录 JFace构建于SWT之上,提供了SWT的功能和MVC模式的易用性。SWT使用直接的API提供了原生(raw)的控件。例如,你创建一个表(table)控件,然后插入你想显示的行和列的数据。JFace提供了在SWT之上的抽象层,所以您只需对抽象层编程,然后抽象层会调用SWT API,从而取代了直接的SWT API编程。回忆一下用C编写窗口控件同使用C++...
阅读全文
摘要:第四节 SWT 返回目录 当Eclipse.org协会着手构建Eclipse时,他们意识到Swing和AWT都不足以构建现实世界的商业程序。于是,他们决定开发一套新的GUI开发包(toolkit)用于Eclipse界面。这个开发包借鉴了VisualAge SmallTalk中大量的库。他们把这个新的开发包命名为SWT(Standard Widget Toolkit)。认识到本地性能...
阅读全文
摘要:第三节 Swing 返回目录 于1997年JavaOne大会上提出,并在1998年5月发布的JFC(Java Foundation Classes)包含了一个新的Java窗口开发包,被命名为Swing。这些新的GUI组件是对AWT的(appreciable)升级,看起来对Java占领计算机世界很有帮助。Java的时代到来了:可下载的applet将是未来的软件;人们将从其他操作系统转向J...
阅读全文
摘要:第二节 AWT 返回目录 对Java的介绍中,最令人兴奋的莫过applet。程序利用applet这项新技术,可以通过网络分发并在浏览器上执行。用户和开发人员都很欢迎这个新事物,因为它可以简化跨平台的开发、发布和维护——对商业软件开发来说,原本是非常有挑战性的。 为了简化java GUI的开发,Sun最开始开发了一套与众不同的的图形库,在所有的平台上都是java特有的显示外观(look an...
阅读全文
摘要:第一节 概述 返回目录 当1995年春java首次发布的时候,它包含了用来构建应用程序的图形用户接口(GUIs)库,那就是AWT(Abstract Windowing Toolkit)。Java雄心壮志的宣称“一次编写,到处运行(Write Once, Run Anywhere)”——承诺一个有下拉菜单、按钮、滚动条和其它我们熟悉的GUI控件的程序,不用重新编译成特定平台的二进制代码,就...
阅读全文
摘要:《The Definitive Guide to SWT and JFace》目录翻译序源代码下载Appres网站上本书的页面第一部分 准备出发第一章 Java GUIs的发展历程 概述 AWT Swing SWT JFace 本章小结 第二章 从Eclipse开始 第二部分 使用SWT 第三章 第一个SWT程序 第四章 布局 第五章 控件 第六章 事件 第七章 对话框 第八章 高级控件 第九章 定制控件 第十章 图形 第十一章 显示和编辑文本 第十二章 高级话题 第三部分 使用JFace 第十三章 第一个JFace程序 第十四章 创建视图 第十五章 JFace对话...
阅读全文
摘要:翻译大事记及进度 (本文写于2006年2月--10月) 大事记 2006.9.7,工作比较稳定,住的地方也快找到了,继续翻译。 2006.5.1,因毕业设计,暂停翻译。 2006.2.27 ,白天将我翻译的第一章贴到现在的个人页面上;晚上我在学校的bbs上公布了我的想法,zhouyan加入,与我共同翻译。 2006.2.15左右,我当时对RSS有点兴趣,去网...
阅读全文
摘要:The Definitive Guide to SWT and JFace 翻译序 (本文写于2006年2月) 最近开始翻译The Definitive Guide to SWT and JFace,我会将最新翻译的章节贴到站上的。 第一章的翻译是在一位网友翻译的基础上做了些修改。他在blog上说他已经翻译到第五章了。不过我只找到第一章及第二章的一部分,所以,从第二章...
阅读全文

浙公网安备 33010602011771号