Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage |
<< | < | > | >> | API | Kapitel 33 - Eigene Dialogelemente |
Bisher haben wir uns nur mit vordefinierten Dialogelementen beschäftigt. Java bietet aber auch die Möglichkeit, Dialogelemente selbst zu definieren und wie eine vordefinierte Komponente zu verwenden. In der Java-Beans-Spezifikation wurden die dazu erforderlichen Techniken beschrieben und die zugrunde liegenden Konzepte definiert. Wir wollen uns an dieser Stelle zunächst mit den Grundlagen der Entwicklung eigener Dialogelemente auf der Basis der Klasse Canvas befassen, wie sie mit dem SystemColorViewer in Abschnitt 32.11 angedeutet werden. Eine ausführliche Beschreibung von Java-Beans findet sich in Kapitel 44.
Ein Canvas ist ein frei definierbares Dialogelement, das in der Grundversion praktisch keinerlei Funktionalität zur Verfügung stellt. Damit ein Canvas etwas Sinnvolles tun kann, muß daraus eine eigene Klasse abgeleitet werden, und in dieser müssen die Methode paint und die Methoden zur Reaktion auf Nachrichten überlagert werden.
public Canvas() |
java.awt.Canvas |
Durch Überlagern der paint-Methode sorgt eine Canvas-Komponente für die Darstellung auf dem Bildschirm:
public void paint(Graphics g) |
java.awt.Canvas |
Die Standardversion von paint zeichnet nur die Ausgabefläche in der aktuellen Hintergrundfarbe. Eine überlagernde Version kann hier natürlich ein beliebig komplexes Darstellungsverhalten realisieren. Der Punkt (0,0) des übergebenen Graphics-Objektes entspricht dabei der linken oberen Ecke des Ausgabebereichs.
Da die Klasse Canvas aus Component abgeleitet ist, bekommt ein Canvas-Objekt alle Ereignisse zugestellt, die auch an eine Komponente gehen. Hierzu zählen Tastatur-, Maus-, Mausbewegungs-, Fokus- und Komponentenereignisse. Die Implementierung der Ereignishandler erfolgt zweckmäßigerweise so, wie es im vierten Entwurfsmuster in Kapitel 28 vorgestellt wurde.
Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1 |
<< | < | > | >> | API | © 1998-2003 Guido Krüger, http://www.javabuch.de |