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.