开始之前
正如第 1 部分所介绍的那样,开放源码开发框架 ThinWire(更多信息见 参考资料)使开发人员能够只用 Java 代码进行 Web 应用程序开发。
ThinWire Web 应用程序的所有代码都是用 Java 语言编写的,就像在桌面上运行的事件驱动的独立程序一样。然后,ThinWire 框架使用标准的 Sun javac 编译器将代码编译为 Web 应用程序。不需要其他厂商提供的特殊编译器。
设计这一系列教程的目的是,讲解如何使用 ThinWire 和 Java 代码开发 Web 应用程序。以前的教程 “Developing Ajax Web Applications using ThinWire and Java”(参见 参考资料)可以帮助您开始用 ThinWire 框架开发 Web 应用程序。第 1 部分(“管理 Web 应用程序布局”;参见 参考资料)帮助您学习如何在 ThinWire 中处理用户界面问题。在第 2 部分中,学习如何将 SplitLayout 类与自己的布局管理代码相结合,从而根据 Web 浏览器窗口的当前大小动态地改变 ThinWire GUI 的布局。
在第 1 部分中,我曾经指出 ThinWire 没有提供 BorderLayout 和 FlowLayout 这样的布局管理器。相反,在浏览器的客户区域中,GUI 组件的许多大小和定位工作都是根据绝对像素坐标确定的。因此,为了防止由于手工改变浏览器窗口大小造成的问题,以及由于开发人员和用户的显示器分辨率不一致造成的问题,开发人员常常需要提供自己的动态布局管理。我提供了一种可以用来轻松地实现动态布局管理的技术。
我没有提到的一个方面是,ThinWire 提供了两个布局管理器,但是它们与标准 Java 编程提供的布局管理器没有什么相似之处。(当我提到标准 Java 环境时,一般都是指 J2SE 5.0。)ThinWire 提供的这两个布局管理器是由下面的类实现的:
-
SplitLayout -
VisibleLayout
在这个部分中,我将演示如何使用 SplitLayout 类。但对于 VisibleLayout 类的具体解释将延后在后续教程中加以介绍。
第 2 部分的目标是学习将 SplitLayout 类与您自己的布局管理代码结合使用,从而根据 Web 浏览器窗口的当前大小动态地改变 ThinWire GUI 的布局。还要学习当用户手工改变浏览器窗口的大小时,如何让布局自动更新。
您需要:
- 了解用 Java 编程语言进行事件驱动的编程,尤其是 Sun 的 J2SE 5.0(参见 参考资料 中的 DickBaldwin.com)。
- 了解如何将 Web 应用程序部署在 Java servlet 容器中(参见 参考资料 中的 “Deployment of Web Applications in Jakarta Apache Tomcat 5”)。
首先,下载和安装 ThinWire 框架(参见 下载)。
第二,需要访问 servlet 容器来测试 Web 应用程序。最简单的方法是将一个 servlet 容器安装为本地主机服务器(参见 下载 以及 参考资料 中的 “Getting Started with Jakarta Tomcat, Servlets, and JSP”)。
第三,下载 Sun 的 Java Development Kit(参见 下载)。