Standard Widget Toolkit
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.
| |
|---|---|
| [[Datei:Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.|150px]] | |
| Datei:Eclipse SWT Windows example.png Beispielanwendung unter Windows 10 | |
| Basisdaten
| |
| Hauptentwickler | Eclipse Foundation |
| Entwickler | Stephen Northover |
| Erscheinungsjahr | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Aktuelle Version | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Aktuelle Vorabversion | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Betriebssystem | plattformunabhängig |
| Programmiersprache | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Kategorie | GUI-Toolkit |
| Lizenz | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden. | |
Das Standard Widget Toolkit (SWT) ist ein GUI-Toolkit für die Erstellung grafischer Oberflächen mit Java.
Geschichte[Bearbeiten]
SWT wurde von IBM für die Entwicklungsumgebung Eclipse entwickelt. Das Designprinzip geht jedoch auf IBM VisualAge zurück, das in Smalltalk geschrieben war. Es nutzte mit den Common Widgets (CW) eine gemeinsame API für alle Plattformen, die native Widgets vorsah, um das Look and Feel des Betriebssystems zu erhalten und für eine gute Performance zu sorgen.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Architektur[Bearbeiten]
Bei SWT werden native Widgets durch dünne Wrapper eingebunden, anstatt Teile der Funktionalität in native Peer-Klassen auszulagern wie etwa bei AWT. Der Nachteil ist, dass jede Schicht für jedes Betriebssystem einzeln implementiert und mit der jeweiligen API interagiert werden muss.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref> Zudem müssen Ressourcen des Betriebssystems nach Verwendung manuell wieder freigegeben werden, da sie nicht mit der Garbage Collection der Java Virtual Machine verbunden sind.<ref>Carolyn MacLeod, Steve Northover: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> SWT verwendet das Model View Controller Entwurfsmuster.<ref>Mauro Marinilli: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2005-06-23 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Auf der Basis von SWT lassen sich auch eigene Widgets erstellen.<ref>Steve Northover, Carolyn MacLeod: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Die Betriebssystemsschicht bleibt dabei abstrahiert und wird nicht durchgereicht. Die Verwendung von SWT erfolgt ausschließlich über dessen Java-Schnittstelle.<ref>Steve Northover: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
SWT wurde als reaktionsschnellere und kompaktere Konkurrenz zu Swing entwickelt. Leistungsvergleiche zeigen allerdings, dass SWT nicht schneller als Swing ist und die Resultate stark vom Kontext und der Testumgebung abhängen.<ref>Igor Križnar: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] (PDF) In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2008-07-04: Skriptfehler: Ein solches Modul „Text“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Die Entwickler von Eclipse verweisen darauf, dass die hochabstrahierte Architektur und das auf allen Plattformen gleiche Aussehen von Swing eine andere Herangehensweise mit anderen Designzielen sei und beide Toolkits jeweils unterschiedliche Trade-offs besäßen.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
JFace[Bearbeiten]
Das GUI-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.<ref>Lars Vogel: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> 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 Bildern und Schriftarten
- Komplexere GUI-Elemente wie Wizards und Dialoge
Verfügbare Systeme und Architekturen[Bearbeiten]
Aktuelle Versionen unterstützen folgende Betriebssysteme, GUI-Toolkits und CPU-Architekturen:<ref>Lars Vogel: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Zu den historischen Plattformen zählen:<ref>David Williams, Christopher Guindon: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref><ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
- Windows
- Win32 (x86-32)
- Linux
- GTK (PowerPC, System/390)
- Motif (x86-32)
- Solaris
- GTK (x64, SPARC)
- HP-UX
- GTK (IA64)
- AIX
- GTK (PowerPC)
- Motif (PowerPC)
- Mac OS X
- Windows CE
- QNX
- Photon (x86-32)
Weblinks[Bearbeiten]
Einzelnachweise[Bearbeiten]
<references />