Java Swing

Was bedeutet Java Swing?

Java Swing ist ein Widget-Toolkit und Teil der Java Foundation Classes (JFC). Es enthält mehrere Pakete zur Entwicklung von Rich-Desktop-Anwendungen in Java. Java Swing umfasst eine Reihe von Programmkomponenten für Java-Programmierer, die die Möglichkeit bieten, window-basierte Anwendungen und einfach zu bedienende grafische Benutzeroberflächen (GUI) wie Schaltflächen und Bildlaufleisten zu erstellen. Die Swing-Komponenten sind vollständig in Java geschrieben und dadurch plattformunabhängig. Java Swing erweitert und ergänzt die Fähigkeiten des älteren Abstract Window Toolkit (AWT).

Allgemeine Informationen zu Java Swing

Swing ist Teil der Java Standard Edition 1.2. Ursprünglich wurde die von der Netscape Communication Corporation entwickelte Grafikbibliothek für Java als Internet Foundation Classes (IFC) bezeichnet. Im Dezember 1996 wurde IFC erstmals veröffentlicht. Die Entwicklung der Java Foundation Classes (JFC) begann 1997 mit der Verschmelzung der IFC mit anderen Technologien durch Sun Microsystems und Netscape Communication Corporation. Später wurde JFC dann in Java Swing umbenannt.

Eigenschaften von Java Swing

Swing ermöglicht eine Anpassung des Erscheinungsbildes jeder Komponente in einer Anwendung, ohne den Anwendungscode wesentlich zu ändern. Es enthält eine Plug-in-Funktion, die es ermöglicht, das Erscheinungsbild von nativen Komponenten zu emulieren und dennoch den Vorteil der Plattformunabhängigkeit zu bieten. Diese spezielle Funktion erleichtert das Schreiben von Anwendungen in Swing und unterscheidet es von anderen nativen Programmen.

Die Hauptelemente des Swing Framework

Java Swing verwendet zum Aufbau von Benutzeroberfläche zwei Hauptelemente: Container und Component.

Container

Ein Container ist in Swing ein Fenster der obersten Ebene. Die vier zur Verfügung stehenden Container der obersten Ebene sind JFrame, JWindow, JApplet und JDialog. Ein Swing-Container wird verwendet, um eine Reihe von Komponenten aufzunehmen, und sie als Teil einer window-basierten Anwendung anzuzeigen. Alle mit Swing erstellten Anwendungen verfügen über mindestens einen Container.

Component

Component wird verwendet, um mehrere andere Komponenten aufzunehmen. Alle Komponenten zusammen werden in einem Container auf oberster Ebene gehalten. Beispiele für Komponenten in Swing sind JPanel, JMenu, JTable, JLabel JButton, JcheckBox oder JscrollBar. Alle Swing-Komponenten erben die JComponent-Klasse.

Unterschiede zwischen Swing und AWT

AWT bietet eine Fülle von sogenannten heavyweight oder schwergewichtigen Komponenten, die auf die Plattform konvertiert werden, auf der sie ausgeführt werden. Daher kann eine window-basierte Anwendung mit AWT-Komponenten auf verschiedenen Plattformen jeweils anders aussehen. Der große Vorteil von Java Swing gegenüber dem Vorgänger Abstract Window Toolkit ist, dass alle Komponenten sogenannte lightweight, auf Deutsch leichtgewichtige, Komponenten sind.

Das heißt, die Swing Komponenten sind keine Plattform-nativen Widgets. Die Komponenten des Swing Framework sind daher nicht nur leicht zu nutzen, sondern auch plattformunabhängig. Das Aussehen einer Anwendung, die mit Swing erstellt wurde, erscheint daher auf verschiedenen Plattformen gleich und verleiht ihnen ein symmetrisches Aussehen.

AWT-Komponenten sind an den Rändern undurchsichtig und rechteckig, was einer Anwendung ein altmodisches Aussehen verleihen kann. Die Java Swing-Komponenten zeigen abgerundete Kanten mit einem transparenten Aussehen.

Wie werden Benutzeroberflächen mit Java Swing erstellt?

Es gibt mehrere Möglichkeiten, mit der Benutzeroberflächen in Swing erstellt werden. Der Code kann von Hand geschrieben werden und es ist möglich, visuelle Werkzeuge zu verwenden, um den Code zu generieren. Eine gängige Methode zur Erstellung einer GUI mit Swing ist die Unterklassierung eines der Container zum Beispiel JFrame für das Hauptfenster mit JDialog für Dialoge und die Implementierung des Fensterinhaltes, das heißt die Zuweisung und Platzierung aller Widgets in dieser Unterklasse.

Dies ist zwar nicht unbedingt erforderlich, hat sich aber zu einer allgemein angewendeten Methode entwickelt. Dieses Vorgehen ist von Vorteil, weil es ermöglicht, die Unterklassen als JavaBeans zu implementieren. So werden die Fensterimplementierungen zu wiederverwendbare Komponenten, wenn sie in einem Bean-Framework genutzt werden. Alle modernen Java-IDEs (Java Entwicklungsumgebungen) enthalten ein JavaBean-Management-Framework. Die eigenen Fenster können daher der Werkzeugpalette der Entwicklungsumgebung hinzugefügt und mit wenigen Klicks wiederverwendet werden.

JavaFX ersetzt Swing als neue Client-UI-Bibliothek für Java SE

Mit der Veröffentlichung von Java8 im März 2014 wurde Java Swing offiziell von JavaFX als neuer Java-Standard für die Entwicklung von Benutzeroberflächen abgelöst. Swing wird jedoch für eine absehbare Zeit Teil der Java SE-Spezifikation bleiben und daher in der JRE (Java Runtime Environment) enthalten sein. Es wird empfohlen, die JavaFX-APIs beim Erstellen neuer Anwendungen zu nutzen. Dabei ist es möglich, eine Swing-Anwendung mit JavaFX zu erweitern, um einen reibungsloseren Übergang zu erreichen.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenlose SEO Analyse