What is Abstract Window Toolkit (AWT)?
Abstract Window Toolkit (AWT) is a collection of graphical user interface components (widgets) and other related services required for GUI programming in Java. It is Java's original platform independent window, graphics and user interface toolkit. AWT is now part of Java Foundation Classes (JFC) and serves as the standard application programming interface (API) for GUI programming in Java.
As of J2SE1.2, the AWT widgets have largely been replaced by the Swing Toolkit. The Swing functionality is based on AWT to enable a core connection to the native windowing system. However, the programmer now has a choice between the appearance of the system and the cross-platform look and feel of Java. Swing is preferred by most Java programmers who still follow the WORA (write once, run anywhere) principle that is at the core of the Java philosophy.
In 1995, when Sun Microsystems introduced Java as a platform-independent programming language, AWT was supposed to provide a thin level of abstraction over the underlying native user interface. Essentially, the same Java program would look like a native Windows application when running on a Windows PC and would look like a native Mac application when running on a Mac.
AWT contains a number of widgets that provide the functionality typical of all native platforms. AWT also offers a robust event handling model, graphics and imaging tools (including shape, color and font classes), layout managers for flexible window layouts, and data transfer classes for cut and paste via the platform's native clipboard.