SWING - Übersicht
Die Swing-API besteht aus einer Reihe erweiterbarer GUI-Komponenten, die dem Entwickler das Erstellen von JAVA-basierten Front-End- / GUI-Anwendungen erleichtern. Es baut auf der AWT-API auf und ersetzt die AWT-API, da fast alle Steuerelemente den AWT-Steuerelementen entsprechen. Die Swing-Komponente folgt einer Model-View-Controller-Architektur, um die folgenden Kriterien zu erfüllen.
Eine einzige API muss ausreichen, um mehrere Erscheinungsbilder zu unterstützen.
Die API muss modellgetrieben sein, damit für die API der höchsten Ebene keine Daten erforderlich sind.
Die API soll das Java Bean-Modell verwenden, damit Builder Tools und IDE den Entwicklern bessere Dienste zur Verwendung bieten können.
MVC-Architektur
Die Swing-API-Architektur folgt auf folgende Weise einer lose basierten MVC-Architektur.
Das Modell repräsentiert die Daten der Komponente.
Die Ansicht repräsentiert die visuelle Darstellung der Daten der Komponente.
Der Controller übernimmt die Eingabe des Benutzers in der Ansicht und spiegelt die Änderungen in den Daten der Komponente wider.
Die Swing-Komponente hat Model als separates Element, während der View- und der Controller-Teil in den User Interface-Elementen zusammengefasst sind. Aus diesem Grund verfügt Swing über eine steckbare Look-and-Feel-Architektur.
Swing-Funktionen
Light Weight - Swing-Komponenten sind unabhängig von der API des nativen Betriebssystems, da Swing-API-Steuerelemente hauptsächlich mit reinem JAVA-Code anstelle der zugrunde liegenden Betriebssystemaufrufe gerendert werden.
Rich Controls - Swing bietet eine Vielzahl erweiterter Steuerelemente wie Tree-, TabbedPane-, Slider-, Colorpicker- und Tabellensteuerelemente.
Highly Customizable - Swing-Steuerelemente können auf sehr einfache Weise angepasst werden, da das visuelle Erscheinungsbild unabhängig von der internen Darstellung ist.
Pluggable look-and-feel - Das Erscheinungsbild der SWING-basierten GUI-Anwendung kann zur Laufzeit basierend auf den verfügbaren Werten geändert werden.