Preface
When Java was first released, its user interface facilities were a significant weakness. The Abstract Window Toolkit (AWT) was part of the JDK from the beginning, but it really wasn’t sufficient to support a complex user interface. It supported everything you could do in an HTML form and provided free-standing frames, menus, and a few other objects, but you’d be hard-pressed to implement an application as complex as Quicken or Lotus Notes. AWT also had its share of portability problems; it relied heavily on the runtime platform’s native user interface components, and it wasn’t always possible to hide differences in the way these components behaved.
JDK 1.1 fixed a number of problems—most notably, it
introduced a new event model that was much more efficient and easier to
use—but it didn’t make any major additions to the basic components. We got
a ScrollPane and a PopupMenu, but that was about it. Furthermore,
AWT still relied on the native components and therefore continued to have
portability problems.
In April 1997, Sun’s Java group (then called JavaSoft) announced the Java Foundation Classes, or JFC, which supersedes (and includes) AWT. A major part of the JFC was a set of much more complete, flexible, and portable user interface components called “Swing.” (The JFC also includes a comprehensive facility for 2D graphics, printing, and Drag and Drop.) With Swing, you can design interfaces with tree components, tables, tabbed dialogs, tooltips, and a growing set of other features ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access