Ziel dieses Kapitels ist es, dem Leser die Swing-Architektur zu erklären und die wichtigsten Eigenschaften von Swing vorzustellen. Swing ist eine Alternative zum AWT und hat sicherlich das Potential, künftig das AWT abzulösen. Swing bietet mit der MVC-Architektur ein Konzept, das für die Entwicklung und Erweiterbarkeit von Anwendungen viele Vorteile bietet. Dieses Konzept wird dem Programmierer jedoch nicht aufgezwungen, so dass er (wenn erwünscht) Swing-Komponenten praktisch ebenso benutzen kann wie bisher AWT-Elemente. Swing bietet dem Programmierer einen höheren Grad an Flexibilität sowie die Möglichkeit, vorhandene Komponenten einfach zu erweitern und an eigene Bedürfnisse und Datenstrukturen anzupassen. So sind z. B. ToolTips in Windows- und MacIntosh-Systemen Konzepte, die bereits seit langer Zeit verwendet werden. Gleichzeitig gibt es eine ganze Reihe neuer, vorgefertigter Komponenten, wie bspw. JInternalFrame-Objekte, JSplitPane-Objekte, Standarddialoge, Tabellen und viele weitere Komponenten, die einfach zu nutzen sind. Hiermit ist der Weg zur gewünschten Benutzeroberfläche mit Hilfe des Einsatzes der Swing-Technologie unter Umständen wesentlich einfacher als mit dem AWT. Zu den Nachteilen von Swing gehört sicherlich die Tatsache, dass die zur Zeit verbreiteten Web-Browser oftmals nicht mit den neuesten Versionen von Java ausgeliefert werden, so dass der Einsatz von Swing in Applets einige zusätzliche Vorkehrungen erfordert. So muss entweder das Java-Plug-In installiert sein oder die Swing-Klassen müssen in den Browser integriert sein. Dieses Problem dürfte aber in absehbarer Zeit an Bedeutung verlieren, da die Integration bzw. Nachrüstung von Swing deutlich einfacher ist als bspw. der Schritt von JDK 1.0 zum JDK 1.1. Dadurch, dass Swing fast vollständig in Java implementiert ist, stellt sich auch die Frage nach der Rechner-Performance. Hier ist jedoch anzumerken, dass mit neueren Versionen der Java-VM und Technologien wie Just-in-Time-Compilern dieses Problem gelöst werden kann. Zum Schluss des Kapitels wurde dem Leser der Umgang mit Swing-Komponenten anhand eines Anwendungsbeispiels vertraut gemacht.