Webber: A Website Construction Application


Program Structure

The main body of the application is organized as two Java packages; library, which contains a group of general-purpose classes that could be used by many applications, and library.html (a sub-package of library) which contains all of the classes used to process HTML text files. The application-specific code consists of one minimal class containing a simple main() method.


The main() Module

Files
Webber.java

Description
The Webber.java file contains the Webber class which contains a very simple main() method.


The library Package

Files
AreaLabel.java, CommonDialog.java, DefaultWindow.java, DrawStringBuffer.java, GraphicsBuffer.java, Lib.java, LinkList.java, MainWindow.java, PolyMenuWindow.java, PolyWindow.java.

Description
These files contain classes which were created to provide various generic services for the main application. Most of them are extensions of GUI components provided by the JDK which add higher levels of functionality. For example, the AreaLabel class implements a multi-line label component and the PolyWindow class adds functionality to a Frame object (a window with border, title and menu) to support a basic multiple-document interface (MDI), two features included with platform-dependant languages like Visual Basic but missing from current versions of the JDK. The Lib class in the Lib.java file is a general dump for a collection of useful static methods.


The library.html Package

Files
HtmlEdit.java, HtmlEditor.java, HtmlFile.java, HtmlPage.java, HtmlPageReader.java, HtmlReader.java, HtmlViewer.java, HtmlWindow.java.

Description
The classes in these files implement all of the HTML components for the application, including the HTML display component, the HTML text-editor component and the browser and editor windows that contain them. The HtmlPage.java and HtmlPageReader.java files contain the classes which actually implement the HTML specification. The HtmlReader class implements a generic mechanism for parsing HTML text.


Go To: IM250: Industrial Project