Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 33 - Eigene Dialogelemente

## 33.1 Die Klasse Canvas

- 33.1 Die Klasse Canvas

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
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de