Swing is the extension and not a replacement for the AWT. There is few overlap between AWT and Swing (as in a Swing JButton component might be viewed as the improved functional replacement for an AWT Button component.) main advantages of Swing components is that as the components are not rendered on the screen by an operating system, outlook of a component doesn’t change since the application or applet is executed on different platforms running under different operating systems. Also, there is a possibility to cause Swing components to mimic the look and feel of the specific platform no matter what platform the program is running on. This is called as feel and pluggable look. Swing components support JDK 1.1
From an event handling viewpoint, Swing components operate the same as AWT components (except that Swing provides a number of new event types). Many Swing components don''t have an AWT counterpart. A couple of new and exciting components are integrated in the Swing libraries that don’t be in the AWT (tooltips, progress bars, trees, etc.)