InfoHome | Themen | Projekte | Links | Software |
|
Vom AWT nach SwingDas AWT (Abstract Window Toolkit) ist so gestaltet, dass alle Fenster- und Dialogelemente vom darunterliegenden Betriebssystem zur Verfügung gestellt werden. Solche Komponenten werden als heavyweight ("schwergewichtig") bezeichnet. Sie sehen auf unterschiedlichen Betriebssystemen (z.B. Windows oder Linux) unterschiedlich aus. Außerdem kann das AWT nur diejenigen GUI-Elemente zur Verfügung stellen, die auf allen unterstützten Plattformen verfügbar sind. Diese Nachteile haben dafür gesorgt, dass mit der Entwicklung von Swing ein anderer Weg eingeschlagen wurde. Fast alle Swing-Komponenten sind vollständig in Java geschrieben und werden als leightweight (leichtgewichtig) bezeichnet. Nur wenige Komponenten (z.B. Top-Level-Container) benutzen noch in minimalem Ausmaß plattform-spezifische GUI-Objekte. Form und Funktion sind somit nicht an das Betriebssystem gebunden, auf dem das Programm ausgeführt wird. Die Oberfläche kann plattformunabhängig vollständig selbst gestaltet und auch noch während der Laufzeit im Look and Feel verändert werden. Nicht zuletzt bietet Swing wesentlich mehr Möglichkeiten zur Oberflächengestaltung als das AWT. Allerdings ist Swing kein Ersatz sondern eine Erweiterung des AWT.
Die Abbildung zeigt die Hierarchie der wichtigsten AWT- und Swing-Klassen. Swing-Klassen sind mit grauem, AWT-Klassen mit weißem Hintergrund versehen. Aufbau grafischer Oberflächen nach dem Composite PatternDer Aufbau einer grafischen Benutzeroberfläche (GUI - Graphical User Interface) für eine Applikation erfolgt nach einem einfachen hierarchischen Baukastenprinzip in dem wir das Composite Pattern wiederfinden werden. Aus einer Menge sogenannter (Grund-)Komponenten (= "Einfache Klassen"), von denen einige auch als Behälter (= "Zusammengesetzte Klassen") dienen können, wählt man sich Bausteine aus und kombiniert diese, indem man eine Container-Komponente mit weiteren Komponenten (die teilsweise selbst wieder Container sein können) bestückt. Die Rolle der abstrakten Oberklasse, von der jede Grafik-Klasse abgeleitet wird, nimmt die abstrakte Klasse Component ein. Klassifizierung der GUI-KlassenBeim Aufbau grafischer Oberflächen ist es selbstverständlich möglich, das Layout einschließlich der Farbgebungen selbst zu bestimmen bzw. anzupassen. Um ein GUI sinnvoll einzusetzen, ermöglicht es die so genannte Ereignisverarbeitung, auf Benutzereingaben reagieren zu können. Die Klassen, die für die Erstellung grafischer Oberflächen von Bedeutung sind, lassen sich grob in vier Gruppen einteilen:
|
© 2004-2024 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück |