Java Reference
In-Depth Information
Die beiden Punkte müssen nicht innerhalb der zu füllenden Fläche liegen. Über einen
fünften Booleschen Parameter kann festgelegt werden, ob sich der Farbwechsel wieder-
holen soll, wenn die Ausdehnung der zu füllenden Fläche in Richtung des Farbverlaufs
größer ist als ein Übergang erfordert.
Sie finden unter dem Namen Zeichnen3 auf der beiliegenden DVD im Ordner
Arbeitsumgebung\Java\Programme\JavaUebung13 eine Version des Zeichenpro-
gramms Zeichnen2 , das die Klasse Graphics durch die Klasse Graphics2D mit ihren Zei-
chenmethoden ersetzt.
13.2.5
Eine lernfähige paint-Methode
Es ist an der Zeit, Sie auf einen ganz gravierenden Unterschied zwischen den beiden Pro-
grammen Zeichnen1 und Zeichnen2 bzw. Zeichnen3 hinzuweisen. Vielleicht ist es Ihnen
ja auch schon selbst aufgefallen, dass die Beständigkeit der gezeichneten Objekte in den
beiden Anwendungen nicht gleich ist. Falls es Ihnen noch nicht aufgefallen ist, dann
sollten Sie jetzt einmal das Programm Zeichnen1 starten und anschließend das Pro-
grammfenster beliebig vergrößern und verkleinern. Oder Sie minimieren das Pro-
grammfenster, um es anschließend wieder von der Taskleiste auf den Bildschirm zu
holen. Das Verhalten des Panels wird Sie wahrscheinlich nicht überraschen. Wiederho-
len Sie nun das Gleiche mit dem Programm Zeichnen2 oder Zeichnen3 , nachdem Sie
einige Objekte in das Panel gezeichnet haben.
13
Falls Sie nicht schon früher über dieses Verhalten gestolpert sind, wird es Sie überra-
schen, dass die Zeichnungen durch das Verändern der Größe des Programmfensters
verschwinden. Für ein Zeichenprogramm ist dieses Verhalten absolut inakzeptabel. Es
stellen sich nun drei zentrale Fragen: Gibt es überhaupt Programme, für die ein solches
Verhalten kein Problem darstellt? Wie ist dieses Verhalten des Programms Zeichnen2 zu
erklären? Und wie können die gezeichneten Figuren dauerhaft erhalten werden?
Die erste Frage ist eindeutig mit ja zu beantworten. Es gibt durchaus Programme, die die
gezeichneten Figuren nicht erhalten müssen! Stellen Sie sich ein Programm vor, das,
ähnlich wie bei einem Video, einen mehrmals pro Sekunde sich verändernden Inhalt
darstellen soll. In diesem Fall müssen die gezeichneten Inhalte nicht dauerhaft erhalten
bleiben.
Die Antwort auf die zweite Frage wurde durch die Erläuterungen in Abschnitt 13.1.1 ,
»Grundlagen der Grafikausgabe«, bereits gegeben. Der Inhalt einer Komponente muss
in vielen Situationen neu gezeichnet werden. Für dieses Zeichnen sind die Methoden
paint bzw. paintComponent verantwortlich. Beim Neuzeichnen einer Komponente wird
nur das gezeichnet, was in diesen beiden Methoden hinterlegt ist. Die beiden Methoden
Search WWH ::




Custom Search