Ha habido algunas buenas respuestas, pero me gustaría cubrir un aspecto ligeramente diferente. Cosas que ofrece Swing más allá de AWT.
Componentes
Swing admite documentos con estilo en JEditorPane
& JTextPane
& hasta cierto punto utilizando HTML en algunos otros JComponents
. AWT no admite documentos con estilo en ningún componente.
AWT no proporciona una estructura basada en árboles como JTree
, ni una estructura tabular como JTable
, ni una versión de JToolBar
.
AWT no tiene equivalente (que pueda encontrar o recordar) para JColorChooser
& none para la clase de utilidad simple - JOptionPane
.
Oyentes
Como se mencionó en un comentario, vea los más de 20 oyentes adicionales / alternativos en el javax.swing.event
paquete.
Look & Feel enchufable
Los componentes de swing se pueden configurar para un aspecto y una sensación particulares en tiempo de ejecución, incluido un PLAF nativo.
Vea las capturas de pantalla en el Ejemplo de diseño anidado para ver algunos ejemplos más.
Diseños
Además de la gran cantidad de diseños de AWT, Swing proporciona:
BoxLayout
GroupLayout
OverlayLayout
ScrollPaneLayout
SpringLayout
ViewportLayout
Otro
Probablemente haya mucho más que me perdí en esa breve descripción, pero la conclusión es que Swing es un conjunto de herramientas de GUI más nuevo y más habilitado.
Swing se basa y depende en gran medida de las clases del AWT.