The AWT or Abstract Window Toolkit is the original platform of Java’s dependent graphics and user interface widget toolkit that precedes Swing. The Abstract Window Toolkit forms the basics of Java Foundation Classes which is a standard API that provides a GUI for any Java program.
Swing is a graphic user interface widget tool kit for Java. It was developed in order to provide a more sophisticated set of GUI components than what was present in the earlier AWT. Swing provides a familiar look and feels that reminds one of the look and feel of several other platforms. Swing also supports the pluggable look and feel. This lets applications have a look and feel that is unrelated to the underlying platform. The components of Swing are way more flexible and powerful in comparison to AWT. Some of the advanced components that Swing provides include scroll panels, lists, trees, tabbed panels, and tables.