AWT or Abstract Window Toolkit and swing are two components of GUI (Graphical User Interface). One of the major differences between AWT and swing is that; while the former uses native commands on the platform, the latter uses Java codes. Although in the case of AWT, the use of native commands also adds to its speed, these commands can't be used on other platforms unless the counterpart commands are changed.
While both strive to look exactly like the operating system they are running on, AWT has a greater advantage overswing in this aspect since it uses native commands. However, it is important to note that there are more features in the swing than in AWT.
For instance, features like icons and tooltips are absent in AWT but present in the swing. Another difference is that AWT is used mostly when creating simple Java applets, whereas swing is a better choice for sophisticated apps.