AWT and swing are the Java API and both can be used to create a Graphical User Interface (GUI) based application in Java. The Java Foundation Classes (JFC) are a set of GUI components that simplify the development of Desktop applications.
The AWT API-related resources like Class and Interfaces are available in java.awt package and Swing API-related resources are available inside javax.swing package.
The package javax means the extension of the Java Standard Extension.
Main differences between AWT and Swing
|AWT API is available from Java version 1.0.||Swing API is added in a later version of Java Standard Edition 1.2.|
|AWT components are platform-dependent.||Swing components are platform-independent.|
|It provides fewer components than Swing.||It provides more powerful components like Table, List, Scrollpane, color chooser, tabbed pane, and so on.|
|AWT components are heavyweight.||Swing components are lightweight.|
|AWT does not support a pluggable look and feel in its components.||It supports a pluggable look and feels.|
|AWT does not support the popular design pattern called MVC (Model View Controller).||Swing supports and follows the MVC pattern.|
Hierarchy of Java Swing classes
Common methods in Component class
|Adds a component to another component.|
|Sets the size of the component.|
|Sets the layout manager for the component.|
|Sets the visibility of the component. The default value is |