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

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.12 angedeutet werden. Eine ausführliche Beschreibung von Java-Beans findet sich in Kapitel 46.

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, muss 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-Objekts 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 in Abschnitt 28.2.4 erläutert wurde.


 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