Java Reference
In-Depth Information
Methode nicht direkt aufrufen. Stattdessen rufen Sie die Methode repaint auf. Diese
Methode ruft dann die Methode paint auf. Im Falle von AWT-Komponenten ist sogar
noch eine update -Methode zwischengeschaltet, bevor die paint -Methode aufgerufen
wird. Die Methode repaint existiert in mehreren Ausführungen. Ohne Parameter for-
dert die Methode sofortiges Neuzeichnen an. Sie können als Parameter auch eine Zeit in
Millisekunden angeben, nach der neu gezeichnet werden soll. Mit weiteren Parametern
können Sie zudem den Bereich bestimmen, der neu gezeichnet werden soll. Dabei kann
es durchaus mal passieren, dass es zu Inkonsistenzen zwischen dem aktualisierten und
dem nicht aktualisierten Bereich kommt. Für diesen Fall können Sie mit der Methode
invalidate dafür sorgen, dass der gesamte Bereich, den die Komponente belegt, für
ungültig erklärt wird. Damit wird sichergestellt, dass beim nächsten Neuzeichnen auf
jeden Fall die gesamte Komponente neu gezeichnet wird.
Da Sie durch das Zeichnen auf eine Komponente das Aussehen der Komponente verän-
dern wollen, bietet die paint -Methode den richtigen Ansatzpunkt. Beim Zeichnen in
eine Komponente sollen nun zwei unterschiedliche Ansätze beschrieben werden:
Erster Ansatz
Sie wünschen sich eine Komponente, deren Aussehen sich etwas vom Aussehen der
Standardkomponente unterscheidet.
Zweiter Ansatz
Sie wollen in einer Anwendung eine Standardkomponente einsetzen und wollen
während der Laufzeit in diese Komponente zeichnen lassen. Das Aussehen der Kom-
ponente wird sich dadurch während der Laufzeit immer wieder verändern.
Beide Ansätze werden in den folgenden beiden Abschnitten behandelt.
13.1.2
Panel-Komponente mit verändertem Aussehen
Die Vorgehensweise beim Zeichnen in3 eine Komponente wird nun am Beispiel eines
JPanel vorgestellt. Wie bereits erläutert, wird eine Komponente immer wieder durch die
paint -Methode neu gezeichnet. Also muss die paint -Methode über das neue Aussehen
der Komponente informiert sein. Bei der Verwendung von Swing-Komponenten, die das
Neuzeichnen in drei Teilaufgaben aufteilen, sollten Sie die Veränderungen in die paint-
Component -Methode verlagern. Damit Sie in die paint - bzw. paintComponent -Methode des
JPanel eingreifen können, leiten Sie zuerst eine eigene Klasse JMyPaintPanel von JPanel
ab. In dem Dialog, der sich mit dem Aufruf von File • New • Class öffnet, ändern Sie den
Eintrag für Superclass von java.lang.Object in javax.swing.JPanel ( Abbildung 13.1 ). Es
schadet zwar nicht, die Constructors from Superclass erstellen zu lassen. Sie wer-
den hier aber nicht benötigt.
Search WWH ::




Custom Search