> ### 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:

> - Section 1: More about Graphics
> - Section 2: More about Layouts and Components
> - Section 3: Standard Components and Their Events
> - Section 4: Programming with Components
> - Section 5: Threads, Synchronization, and Animation
> - Section 6: Nested Classes and Adapter Classes
> - Section 7: Frames and Dialogs
> - Section 8: Looking Forward: Swing and Java 2
> - Programming Exercises
> - Quiz on this Chapter

[ First Section | Next Chapter | Previous Chapter | Main Index ]