Chapter 7
Advanced GUI Programming
THE JAVA PACKAGES
java.awt and java.awt.event
contain classes for writing programs
that use a graphical user interface. The previous chapter introduced several
of these classes, such as the class Button.
An object of type Button represents a push-button that the user
can click to perform some action. When the programmer creates an
instance of this class, it will appear on the screen as a button appropriate
to the platform on which the program is running. Even though the button will
appear different on different platforms, its "logical" or
"abstract" behavior will be the same. The Java programmer only has
to worry about this abstract behavior; the platform-dependent details are left
to the Java implementation on each platform. This is why the Java GUI
system is called the Abstract Windowing Toolkit (AWT).
In this chapter, we'll take a more detailed look at using the AWT
for graphical user interface programming, starting with some advanced
features of the Graphics class. We'll cover a number of
new layout managers, component classes, and event types, and we'll see how
to open independent windows and dialog boxes on the screen. Two new
features of Java, threads and nested classes, will be introduced.
Both of these features are useful in many applications besides GUI programming.
This textbook is based on Java 1.1. A newer version, Java 1.2, builds on
Java 1.1 by adding a large number of new standard classes. In particular,
Java 1.1 introduced a new set of user interface components called Swing, as a
supplement to the AWT. Java 1.2, together with a few optional features,
is sometimes referred to as Java 2 or Java Platform 2. The last section of
this Chapter is a brief survey of Swing and Java 2.
The material in this chapter will be used in a number of examples
and programming exercises in future
chapters. Aside from that, the material in this chapter is
not a prerequisite the rest of this textbook.
Contents Chapter 7: