The first difference most of us identify is that, there is J in JFrame but not in Frame :p
Obviously if both represent the same, then they wont have different names:-
A JFrame is an extended version of a Frame, you will probably find a JFrame to be a little easier to use as some of the complexities of using a Frame are done for you.
Main differences are:-
AWTAWT stands for Abstract Window Toolkit .It provides Graphical user interface.AWT provides the connections between your application and the native GUI.The AWT graphics functions are provided with the operating system has a graphical one to one relationship between the function, we call it peers. The Abstract Window Toolkit provides the connection between your application and the native GUI.Because different operating system's graphics library functions provided are not the same, there is a function of the platform on another platform may not exist.Since AWT is to rely on local methods to achieve its function, we usually called heavyweight AWT controls control.
Swing AWT is built on the basis of a new Graphical Interface system.Swing implements a set of GUI components that build on AWT technology and provide a pluggable look and feel. Swing is implemented entirely in the Java programming language, and is based on the JDK 1.1 Lightweight UI Framework.Swing components do not depend on peers to handle their functionality. Thus, these components are often called "lightweight" components.