Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 7. Auflage |
<< | < | > | >> | API | Kapitel 24 - Grafikausgabe |
Im Gegensatz zu den meisten anderen Programmiersprachen wurde Java von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu bedienendes System für die Gestaltung grafischer Oberflächen zur Verfügung zu stellen. Das Resultat dieser Bemühungen steht seit dem JDK 1.0 als Grafikbibliothek unter dem Namen Abstract Windowing Toolkit (AWT) zur Verfügung.
Die Fähigkeiten des AWT lassen sich grob in vier Gruppen unterteilen:
Da die grafischen Fähigkeiten Bestandteil der Sprache bzw. ihrer Klassenbibliothek sind, können sie als portabel angesehen werden. Unabhängig von der Zielplattform wird ein GUI-basiertes Programm auf allen verwendeten Systemen gleich oder zumindest ähnlich laufen.
Die Entwicklung von grafikorientierten Anwendungen im JDK 1.0 war zwar relativ einfach und erzeugte portable Programme mit grafischer Oberfläche, war aber durch eine Reihe von Fehlern und Restriktionen des AWT eingeschränkt. Vor allem bei der Erstellung großer GUI-Anwendungen wurden die Programme schnell unübersichtlich und die Performance litt unter dem unzulänglichen Event-Modell der Version 1.0. Mit der Version 1.1 des JDK hat SUN das AWT massiv verändert. Es gab umfangreiche Fehlerbehebungen und eine Vielzahl von Methodennamen wurden geändert. Vor allem aber wurde das Event-Handling, also der Transfer von GUI-Ereignissen, komplett überarbeitet.
Das neue Schlagwort lautet Delegation Based Event Handling. Es bezeichnet die Fähigkeit des AWT, GUI-Ereignisse an beliebige Objekte weiterzuleiten und dort zu behandeln. Obwohl das Verständnis für diese neuen Techniken etwas schwieriger zu erlangen ist als beim alten Event-Modell, lohnt sich der zusätzliche Aufwand. Die Entwicklung großer GUI-Anwendungen mit einer klaren Trennung zwischen Benutzeroberfläche und Applikationslogik wird so erst möglich gemacht. Wir gehen in Kapitel 28 detailliert auf das neue Paradigma ein. Wo erforderlich, werden einzelne Bestandteile bereits vorher informell eingeführt.
Neben dem AWT gibt es eine zweite Bibliothek für die Gestaltung grafischer Benutzeroberflächen. Sie heißt Swing, ist seit dem JDK 1.1 als Add-On verfügbar und seit der Version 1.2 fester Bestandteil des Java Development Kit. Da Swing-Anwendungen in ihren Möglichkeiten weit über das hinausgehen, was das AWT bietet, werden die meisten GUI-Programme heute mit Swing geschrieben. Wir beschreiben Swing ab Kapitel 36, denn es macht Sinn, sich zunächst mit dem AWT zu beschäftigen.
Einerseits ist das AWT einfacher zu erlernen, denn es ist weniger umfangreich als Swing. Gerade als Anfänger muss man nicht so viele neue Konzepte erlernen. Zum anderen werden viele der AWT-Features auch in Swing benötigt und das mühsam angeeignete Wissen ist nicht völlig verloren. Ob es um die Verwendung von Farben oder unterschiedlichen Schriftarten oder um die Anordnung von Dialogelementen mit Hilfe von Panels und Layout-Managern geht, die zugrunde liegenden Techniken sind in beiden Fällen gleich. Drittens gibt es auch heute noch Anwendungen für das AWT, etwa bei der Applet-Programmierung oder wenn die Verwendung von plattformspezifischen Dialogelementen zwingend erforderlich ist.
Leser, die dennoch ausschließlich Swing lernen wollen und das AWT als unnötigen Ballast ansehen, brauchen die Kapitel 30 und 32 lediglich kurz anzusehen. Das dazwischen liegende Kapitel 31 sollte dagegen nicht übersprungen werden, denn es beschreibt die Arbeitsweise und Anwendung der Layoutmanager. Die übrigen Kapitel in diesem Teil des Buchs behandeln Themen, die in beiden Welten von Bedeutung sind. |
|
Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 7. Auflage, Addison Wesley, Version 7.0 |
<< | < | > | >> | API | © 1998, 2011 Guido Krüger & Heiko Hansen, http://www.javabuch.de |