第十三章 创建窗口和程序片
在 Java 1.0 中,图形用户接口(GUI)库最初的设计目标是让程序员构建一个通
用的 GUI,使其在所有平台上都能正常显示。
但遗憾的是,这个目标并未达到。事实上,Java 1.0 “版的 抽象 Windows 工具
”包 (AWT)产生的是在各系统看来都同样欠佳的图形用户接口。除此之外,它还
限制我们只能使用四种字体,并且不能访问操作系统中现有的高级 GUI 元素。同
时,Jave1.0 版的 AWT 编程模型也不是面向对象的,极不成熟。这类情况在
Java1.1 版的 AWT 事件模型中得到了很好的改进,例如:更加清晰、面向对象的
编程、遵循 Java Beans 的范例,以及一个可轻松创建可视编程环境的编程组件
模型。Java1.2 为老的 Java 1.0 AWT 添加了 Java 基础类(AWT),这是一个
“被称为 Swing”的 GUI 的一部分。丰富的、易于使用和理解的 Java Beans 能经
过拖放操作(像手工编程一样的好),创建出能使程序员满意的 GUI “。软件业的 3
”次修订版 规则看来对于程序设计语言也是成立的(一个产品除非经过第 3 次修
订,否则不会尽如人意)。
Java 的主要设计目的之一是建立程序片,也就是建立运行在 WEB 浏览器上的小
应用程序。由于它们必须是安全的,所以程序片在运行时必须加以限制。无论怎
样,它们都是支持客户端编程的强有力的工具,一个重要的应用便是在 Web 上。
“ ”在一个程序片中编程会受到很多的限制,我们一般说它 在沙箱内 ,这是由于
Java ——运行时一直会有某个东西 即 Java ——运行期安全系统 在监视着我
们。Jave 1.1 为程序片提供了数字签名,所以可选出能信赖的程序片去访问主
机。不过,我们也能跳出沙箱的限制写出可靠的程序。在这种情况下,我们可访问
操作系统中的其他功能。在这本书中我们自始至终编写的都是可靠的程序,但它们
成为了没有图形组件的控制台程序。AWT 也能用来为可靠的程序建立 GUI 接口。
在这一章中我们将先学习使用老的 AWT 工具,我们会与许多支持和使用 AWT 的代
码程序样本相遇。尽管这有一些困难,但却是必须的,因为我们必须用老的 AWT
来维护和阅读传统的 Java 代码。有时甚至需要我们编写 AWT 代码去支持不能从
Java1.0 升级的环境。在本章第二部分,我们将学习 Java 1.1 版中新的 AWT 结
构并会看到它的事件模型是如此的优秀(如果能掌握的话,那么在编制新的程序时
就可使用这最新的工具。最后,我们将学习新的能像类库一样加入到 Java 1.1
版中的 JFC/Swing 组件,这意味着不需要升级到 Java 1.2 便能使用这一类库。
大多数的例程都将展示程序片的建立,这并不仅仅是因为这非常的容易,更因为这
是 AWT 的主要作用。另外,当用 AWT 创建一个可靠的程序时,我们将看到处理程
序的不同之处,以及怎样创建能在命令行和浏览器中运行的程序。
请注意的是这不是为了描述类的所有程序的综合解释。这一章将带领我们从摘要开
始。当我们查找更复杂的内容时,请确定我们的信息浏览器通过查找类和方法来解
决编程中的问题(如果我们正在使用一个开发环境,信息浏览器也许是内建的;如
果我们使用的是 SUN 公司的 JDK 则这时我们要使用 WEB 浏览器并在 Java 根目录
下面开始)。附录 F 列出了用于深入学习库知识的其他一些参考资料。
13.1 为何要用 AWT?
“ ”对于本章要学习的 老式 AWT,它最严重的缺点就是它无论在面向对象设计方面,
还是在 GUI 开发包设计方面,都有不尽如人意的表现。它使我们回到了程序设计
评论0