- JFace
-
Das Standard Widget Toolkit (SWT) ist eine Bibliothek für die Erstellung grafischer Oberflächen mit Java.
Inhaltsverzeichnis
SWT
SWT wurde im Jahr 2001 von IBM für die Entwicklungsumgebung Eclipse entwickelt und wird kontinuierlich gepflegt. SWT nutzt dabei im Gegensatz zu Swing die nativen grafischen Elemente des Betriebssystems – wie das AWT von Sun – und ermöglicht somit die Erstellung von Programmen, die eine Optik vergleichbar mit „nativen“ Programmen aufweisen.
Allerdings leidet SWT auf einigen Nicht-Windows-Plattformen unter Effizienzproblemen, da es viele Features eines Basistoolkits voraussetzt, welche – wenn nicht vorhanden – emuliert werden müssen (z. B. Z-Ordering auf GTK+). Zudem sind die SWT-Bibliotheken nicht standardmäßig auf dem ausführenden System verfügbar und müssen mit der Applikation ausgeliefert werden, während Swing Bestandteil der Java-Laufzeitumgebung (Java Runtime Environment, JRE) ist.
Bei SWT werden native Widgets durch dünne Wrapper eingebunden, anstatt Teile der Funktionalität in native Peer-Klassen auszulagern. Wegen der Verwendung dieser Ressourcen werden die SWT-Elemente "schwergewichtig" genannt, im Gegensatz zu den "leichtgewichtigen" Komponenten der Swing-Technologie, die alle grafischen Elemente selbst erzeugt.
SWT kommt in einer ganzen Reihe von Anwendungen zum Einsatz, beispielsweise Eclipse selbst, Azureus und RSSOwl.
JFace
Das UI-Toolkit JFace setzt aus den von SWT gelieferten Basiskomponenten komplexere Widgets zusammen und stellt eine Abstraktionsschicht (Viewer) für den Zugriff auf die Komponenten bereit. JFace erleichtert die Entwicklung von Desktop-Anwendungen auf SWT-Basis erheblich. Die wichtigsten Klassen von JFace sind:
- Viewers zur Verbindung von GUI-Elementen zum Datenmodell
- Actions zur Entkopplung von GUI-Events und der auszuführenden Aktion
- Image- und Font-Registries zur Verwaltung von Bild- und Font-Ressourcen
- Komplexere GUI-Element wie Wizards und Dialoge
Mittlerweile gibt es bei JFace einige Abhängigkeiten zu Eclipse-Bibliotheken, so dass neben SWT auch einige JAR-Files aus dem Eclipse-Projekt installiert werden müssen. Eclipse ist die wohl bekannteste Anwendung, die JFace einsetzt.
Verfügbare Systeme und Architekturen
1 Eine Portierung auf Cocoa ist in Arbeit.[1]
Quellen
Weblinks
- eclipse.org/swt – Standard Widget Toolkit Project
- eclipsewiki.editme.com/SWT – SWT auf EclipseWiki
- www.cs.umanitoba.ca/~eclipse – SWT-Beispiele und Beispiele zur nativen Kompilierung mit GCJ
- Deutsche Einführung zu SWT und JFace
Wikimedia Foundation.