User Tools

Site Tools


swp:sem_6

Table of Contents

GUI Frameworks

Supervisor: Christoph

Teilnehmerinnen:
Cristina Kadar: cristina.kadar{at}gmail{dot}com

Legende: (++) sehr wichtig (+) wichtig

  • Desktop
    • (++) Swing
    • SWT
    • AWT
  • Web
    • (++) GWT

AWT

SWING

Allgemein

  • lightweight Framework (eigene Komponenten + Rendering)
  • “Frontend” zu Java
  • ist in Java ab Version 1.1.5 enthalten
  • Komponenten werden in Containern platziert
  • Nutzung von Eventlistenern um auf den User zu reagieren

Erweiterung/Vorteile

  • Look and Feel (setzen von Färbungen mit wenigen Zeilen)
  • Drag & Drop
  • Keyboard Accelerator (STRG+?, STRG+ALT+?, ALT+?,SHIFT+?…)
  • Tooltips
  • SDI, MTI, MDI und Tabbed Documents
  • neue Layout manager
  • Java2D (malen, u.a. für Turtleunits)
  • zusätzliche Komponenten (Tabellen, Bäume)
  • einige nützliche Widgets
  • kümmert sich selbst um Garbagecollection
  • Unterstützt “Double Buffering” für flüssigere Bilder

Nachteile:

  • nicht überall hin portierbar (Handys!?!)
  • muss nicht überall gleich aussehen (nicht vorhandene/andere Pakete)
  • nicht threadsicher

SWT

Allgemeines

  • Entwickelt von IBM im Jahr 2001; jetzt von Eclipse Foundation gewartet
  • Nutzt die nativen graphishe Elemente des Betriebssytems, genau wie bei AWT, im Gegensatz zu SWING
  • User übernimmt das Speichermanagement (keine Garbage Collection, sondern immer .dispose() benutzen!)
  • Als leistungsstarke Benutzeroberfläche konzipiert: soll schneller reagieren & weniger Systemressourcen als SWING verwenden; mit nativen “look&feel”: Applikationen die eine Optik vergleichbar mit „nativen“ Programmen aufweisen; tiefe Plattformintegration

Widgets

  • Entweder Basic (enthalten keine andere widgets, wie z.B. button, label, slider) oder Composite (enthalten andere Objekten, wie z.B. tree, toolbar, table)
  • Packet org.eclipse.swt.widgets.widget für “heavy-weight widgets”(widgets des Betriebssystem mit dünne Wrappers eingebunden) und Packet org.eclipse.swt.custom für “light-weight widgets”(widgets die SWT selbst implementiert)
  • Die Klassenhierarchie stammt aus Shell (wie JFrame bei SWING)
  • Display ist die Bruecke zwischen SWT und dem Betriebssystem

GWT

swp/sem_6.txt · Last modified: 2007/11/12 21:10 (external edit)