AWT resides in the java.awt.* package and it's sub-packages. Swing resides in the javax.swing.* package and it's sub-packages.
Every AWT component has a native peer, while only top-level components in Swing have a native peer.
Swing uses MVC (Model-View-Controller) architecture. Most Swing components have an xxxModel to represent the model, xxxUI to represent the view, and listeners to represent the controller. The Jxxx class ties all these together.
Swing adds several new components... tables, trees, color choosers, etc.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.