Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
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.