Java Reference
In-Depth Information
Damit Falscheingaben abgefangen werden, ist der gesamte Anweisungsblock in ein
try-
catch
eingebettet. Zuerst werden die eingegebenen Parameterwerte aus den Textfel-
dern entnommen und in
int
-Variablen (
x1,
y1,
x2,
y2
) abgelegt. Die
switch-case
-
Anweisung nutzt die
char
-Variable
figur
, um zu entscheiden, welche Zeichenmethode
erforderlich ist. Bei zweidimensionalen geometrischen Figuren wird zusätzlich noch
anhand des CheckBox-Status geprüft, ob nur die Umrisse der Figur gewünscht sind oder
ob die Figur ausgefüllt gezeichnet werden soll.
Den kompletten Quellcode der Beispielanwendung finden Sie unter dem Namen
Zeichnen2
auf der beiliegenden DVD im Ordner
Arbeitsumgebung\Java\Programme\
JavaUebung13
.
13.2.4 Zeichnen mit dem Java 2D-API
Für den bis hierher verwendeten Kontext
Graphics
mit seinen Zeichenroutinen wurde
mit dem JDK 1.2 eine Erweiterung eingeführt. Die von
Graphics
abgeleitete Subklasse
Graphics2D
ermöglicht nun u. a. das Zeichnen beliebig geformter Objekte, die Verwen-
dung unterschiedlicher Strichstärken und Linienenden und die Verwendung von Füll-
mustern.
Sowohl die
paint
- als auch die
paintComponent
-Methode erhalten ein solches
Graphics2D
-Objekt. Damit Sie dieses Objekt verwenden können, rufen Sie die gleiche
Getter-Methode
getGraphics
auf, führen aber einen Typecast auf
Graphics2D
aus:
Graphics2D g2d = (Graphics2D) jPanelZeichenflaeche.getGraphics();
Soweit ist das noch keine gravierende Veränderung. Die Liste der verfügbaren Zeichen-
methoden hat sich aber deutlich verkleinert. Gab es bisher für jede geometrische Form
eine eigene
draw
- und
fill
-Methode, so werden hier nur noch zwei Methoden für alle
diese Fälle angeboten (
Tabelle 13.3
).
Methode
Beschreibung
void draw(shape s)
Zeichnet die Umrisse der Form s.
void fill(shape s)
Zeichnet die Form s ausgefüllt.
Tabelle 13.3
Zeichenmethoden von »Graphics2D« für geometrische Formen
Der übergebene Parameterwert entscheidet jetzt über die zu zeichnende Form. Es han-
delt sich dabei um ein Objekt, das auf dem Interface
shape
aufbaut. Die verfügbaren