1、附件 1:外文资料翻译译文 图形用户 接口 一个基本的设计方针是 “简单的事情变得容易,困难的事情成为可能。 ” 劳在 Java 的图形用户界面( GUI)库原设计目标是允许程序员建立一个 GUI ,在所有平台上看起来好。这一目标没有实现。相反, Java 的罗湖抽象窗口工具包( AWT )产生一个 GUI,看着所有系统上同样表现平平。此外,它是限制性的,你可以用四种字体,你不能访问任何更复杂的 GUI元素,在你的操作系统存在。也尴尬和非面向对象的 Java 1.0 AWT 编程模型。一个学生在我的一个研讨会(曾在 Sun 公司 一直在创造 Java 的)解释原因:原来的 AWT 已经构思,设
2、计,并在一个月内实施。一定的生产力的奇迹,也是为什么设计对象的教训是非常重要的。 Java 1.1 AWT 的事件模型,这需要一个更清晰的,面向对象的方法的 JavaBeans 组件的编程模型是面向可视化编程环境容易创造此外,情况有所好转。的 Java 2( JDK 1.2 ) ,基本上取代Java 基础类( JFC) ,被称为 GUI 部分的所有 “摇摆完成了转型。 ”从旧的 Java 1.0 AWT 的这是一个易于使用的一整套丰富,易于理解的 JavaBeans ,可以拖动和下降(以及手工编程) ,以建立一个合理的 GUI 。 “第三次修订版 ”的软件产业规则(一个产品是不是良好,直到第三
3、次修订版) ,似乎与编程语言也是如此。 本章介绍了现代的 Java Swing 库,使得 Swing 是 Sun 公司的最终目的地的 GUI 库,为 Java.2合理的假设,如果你有一些原因,因为你支持旧的代码,你需要使用原有的 “老 ”的 AWT (或浏览器的限制) ,你可以找到介绍,在这本书的第一版在 www.MindV 下载。请注意,一些 AWT组件保持在 Java 中,并在某些情况下,你必 须使用他们。 请注意,这是不是所有的 Swing 组件或描述类的所有方法的综合词汇。你在这里看到的是一个简单的介绍。 Swing 库是巨大的,本章的目的是只让你的要领和舒适的概念开始。如果你需要做的
4、比你在这里看到,那么 Swing 可以可能会给你想要的东西,如果你愿意做研究。 在这里,我假设您已经下载并安装 JDK文档从 http:/和浏览该文件的 javax.swing类 Swing 库的全部细节和方法。您也可以在网上搜索,但最好的地方开始,是 Sun 公司自己的 Swing教程 http:/ 有许多(而厚)专门到 Swing 的书,你要到那些如果您需要更深入,或者如果你想修改默认的Swing 行为。 正如你关于 Swing 学习,你会发现: 1.Swing 是一个大为改善的编程模型相比,许多其他语言和开发环境(不认为它是完美的,但前进道路上的一个步骤) 。 JavaBeans 的朝着
5、结束本章介绍该库的框架。 2.“ GUI 构建器 ” (可视化编程环境)是一个平常的一个完整的 Java 开发环境方面。 JavaBeans 和Swing 的 GUI 生成器为你写的代码,你使用图形化工具的形式放置到组件。 因为 Swing 是相当简单,即使你使用 GUI 构建器,而不是通过手工编码,生成的代码仍然应该理解。这解决了一个大问题,从过去,这很容易产生不可读的代码的 GUI 建设者。 :秋千包含所有组件,您会看到在一个现代的 UI :一切从树木和表包含图片按钮。这是大的一个图书馆,但它在手头的任务适当的复杂性 ;如果事情是简单的,你不要不有写很多代码,但作为你尝试做更复杂的事情,你
6、的代码变得比例更复杂。 你会喜欢关于 Swing 的大部分可能被称为 “正交使用。 ”也就是说,一旦你拿起对图书馆的总体思路,你通常可以申请他们无处不在。这主要是因为标准的命名约定,当我在写这些例子,我通常可以猜测成功的方法名。这当然是一个好的库设计的标志。此外,您通常可以插入到其他组件和事物的组成部分,将正常工作。 键盘导航是自动的,可以不使用鼠标的情况下运行的 Swing 应用程序,这并不需要任何额外的编程。滚动支持是毫不费力 ;你只是包裹在一个 JScrollPane 组件,你把它添加到您的表单。如工具提示功能,通常需要使用一个单一的代码行。 可移植性, Swing 是完全用 Java
7、编写的。 Swing 也支持一个相当激进的功能,称为 “可插拔的外观和感觉, ”这意味着用户界面的外观,可以动态改变,以适应不同的平台和操作系统下工作的用户的期望。它甚至有可能(虽然很难)发明自己的外观和感觉。你可以找到这些 Web.3 尽管所有的积极方面, Swing 是并不适合每一个人,也没有解决所有的用户界面,其设计意图的问题。在本章的结尾,我们来看看两个备选方案摆动: IBM 赞助的 SWT 的 Eclipse 编辑器,但可以作为一个开放源码的,独立 的 GUI 库,以及 Macromedia 的 Flash 客户端开发的 Flex 工具开发端前端 Web 应用程序。 小程序 当 Ja
8、va 第一次出现,各地语言的骚动来自 applet,一个方案,可以在互联网上传递到运行在Web 浏览器(里面所谓的沙箱,出于安全考虑) 。人们预见到,在互联网发展的下一阶段的 Java applet ,许多基于 Java 的原书认为你在语言感兴趣的原因是,你想要写的 applet 。 由于种种原因,这场革命从未发生过。一个问题的很大一部分是大多数机器不包括必要的 Java软件运行 Applet , 下载并安装了 10 MB 的包是不是大多数用户愿意为了运行的东西,你随便在网络上遇到做。许多用户甚至害怕的想法。作为一个客户端应用交付系统的 Java Applet 从来没有达到临界质量,虽然你仍然
9、会偶尔看到一个 applet ,它们一般都被转移到计算的死水。 这并不意味着 applet 是不是一个有趣的和有价值的技术。如果你在一个情况下,你可以确保用户安装了 JRE (如企业环境内) ,然后小程序(或的 JNLP / Java Web Start 的,在本章稍后描述)可能是最完美的方式来分发客户端程序没有通常的成本和 努力,分发和安装新的软件,并自动更新每个人的机器。 你会发现一个在网上补充这本书在 www.MindV applet 的技术引进。 附件 2:外文原文 (复印件) Graphical User Interfaces A fundamental design guideli
10、ne is Make simple things easy, and difficult things possible. The original design goal of the graphical user interface (GUI) library in Java l.o was to allow the programmer to build a GUI that looks good on all platforms. That goal was not achieved. Instead, the Java l.o Abstract Windowing Toolkit (
11、AWT) produced a GUI that looked equally mediocre on all systems. In addition, it was restrictive; you could use only four fonts and you couldnt access any of the more sophisticated GUI elements that exist in your operating system. The Java 1.0 AWT programming model was also awkward and non-object-or
12、iented. A student in one of my seminars (who had been at Sun during the creation of Java) explained why: The original AWT had been conceived, designed, and implemented in a month. Certainly a marvel of productivity, and also an object lesson in why design is important. The situation improved with th
13、e Java 1.1 AWT event model, which takes a much clearer, object-oriented approach, along with the addition of JavaBeans, a component programming model that is oriented toward the easy creation of visual programming environments. Java 2 (JDK 1.2) finished the transformation away from the old Java 1.0
14、AWT by essentially replacing everything with the Java Foundation Classes (JFC), the GUI portion of which is called Swing. These are a rich set of easy-to-use, easy-to-understand JavaBeans that can be dragged and dropped (as well as hand programmed) to create a reasonable GUI. The revision 3 rule of
15、the software industry (a product isnt good until revision 3) seems to hold true with programming languages as well. This chapter introduces the modern Java Swing library and makes the reasonable assumption that Swing is Suns final destination GUI library for Java.2 If for some reason you need to use
16、 the original old AWT (because youre supporting old code or you have browser limitations), you can find that introduction in the 1st edition of this book, downloadable at www.MindV. Note that some AWT components remain in Java, and in some situations you must use them. Please be aware that this is not a comprehensive glossary of either all the Swing components