Science Fair Project Encyclopedia
Abstract Windowing Toolkit
The Abstract Windowing Toolkit (AWT) is Java's platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is part of the Java Foundation Classes (JFC) - the standard API for providing a graphical user interface (GUI) for a Java program.
When Java was released, AWT was heavily criticized as one of the weakest components of Java. The basic flaw was that AWT provided only a very thin level of abstraction over the underlying native user interface. For example, creating an AWT check box would cause AWT to directly call the underlying native subroutine that created a check box. Unfortunately, a check box on Windows is not quite the same as a check box on MacOS or the various types of UNIX.
This poor design choice made life difficult for programmers trying to adhere to Java's "write once, run anywhere" motto, since AWT did not guarantee precisely how their application would look on all computer platforms. An AWT application that might look great on a Windows PC would turn out to be an unusable mess on a Macintosh system, and vice versa. A popular joke among programmers in the 1990s was that Java's real motto was "write once, test everywhere."
In the JDK version 2, the AWT's widgets have largely been superseded by those of the Swing toolkit. Swing avoids the problems of AWT by drawing its own widgets (by calling into low-level subroutines in the local graphics subsystem), instead of relying on the operating system's high-level user interface module.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details