Motivation
1. A portable graphics model and window system (Unix, Microsoft Windows, Macintosh).
2. Support interaction in a general way (Mouse events, keyboard events).
3. Provide high-level building blocks (widgets like buttons and canvases in JDK1.0 and 1.1, and more complex interface components such as TreeView in JDK 1.2 -- in “Swing”).
4. Permit integration with browsers (Netscape Navigator, Microsoft Internet Explorer)..