16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

java.awt.font, java.awt.color (Farbräume), java.awt.image und<br />

java.awt.image.ren<strong>de</strong>rable (Bitmaps und Filter) sowie java.awt.pr<strong>in</strong>t<br />

(Drucken).<br />

Die Klassen für geometrische Objekte, die sich von <strong>de</strong>r Klasse Shape ableiten, s<strong>in</strong>d<br />

Polygon, RectangularShape, Rectangle, Area, QuadCurve2D und<br />

CubicCurve2D 259 . E<strong>in</strong>e beson<strong>de</strong>re Klasse, die auch von Shape abgeleitet ist, heißt<br />

GeneralPath. Damit lassen sich mehrere Objekte e<strong>in</strong>er Figur zusammensetzten.<br />

Die Klasse Rectangle2D, RoundRectangle2D, Aread2D und Ellipse2D erben<br />

von <strong>de</strong>r Klasse RectangularShape und s<strong>in</strong>d Objekte, die durch e<strong>in</strong>e rechteckige<br />

Box umgeben s<strong>in</strong>d.<br />

4.3.2 Eigenschaften geometrischer Objekte<br />

Dicke und Art <strong>de</strong>r L<strong>in</strong>ien bestimmen<br />

Die Metho<strong>de</strong> setStroke() kann <strong>de</strong>f<strong>in</strong>ieren<br />

- die Dicke (width)<br />

- die Eigenschaft wie e<strong>in</strong> L<strong>in</strong>iensegment beg<strong>in</strong>nt und abschließt<br />

- die Art, wie sich die L<strong>in</strong>ien verb<strong>in</strong><strong>de</strong>n<br />

- e<strong>in</strong> L<strong>in</strong>ien-Pattern (dash attributes)<br />

Unterstützt wird setStroke() durch die Schnittstelle Stroke, die konkret durch<br />

BasicStroke implementiert wird, z.B.<br />

public void pa<strong>in</strong>t(Graphics g)<br />

{<br />

Graphics2D g2 = (Graphics2D) g;<br />

BasicStroke pen =<br />

new BasicStroke(2.0f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND)<br />

g2.setStroke(pen);<br />

}<br />

Für BasicStroke gibt es 9 Konstruktoren. Der hier verwen<strong>de</strong>te Konstruktor von<br />

BasicStroke har drei Argumente:<br />

- e<strong>in</strong>en float-Wert, <strong>de</strong>r die L<strong>in</strong>ienstärke angibt<br />

- e<strong>in</strong>en <strong>in</strong>t-Wert, <strong>de</strong>r die Art <strong>de</strong>s L<strong>in</strong>ienen<strong>de</strong>s festlegt<br />

- e<strong>in</strong>en <strong>in</strong>t-Wert, <strong>de</strong>r <strong>de</strong>n Stil <strong>de</strong>s Verb<strong>in</strong>dungsstücks zwischen zwei L<strong>in</strong>iensegmenten festlegt<br />

Beson<strong>de</strong>rs bei breiten L<strong>in</strong>ie ist es <strong>in</strong>teressant, wie die L<strong>in</strong>ie en<strong>de</strong>t. Hier läßt sich aus<br />

CAP-BUTT (ke<strong>in</strong>e Abschlußpunkte), CAP_ROUND (Anzeige von Kreisen an bei<strong>de</strong>n<br />

En<strong>de</strong>n) und CAP_SQUARE auswählen.<br />

Die möglichen Stile für Verb<strong>in</strong>dungselemente s<strong>in</strong>d JOIN_MITER (Abschluß von<br />

L<strong>in</strong>ien so, daß sie senkrecht aufe<strong>in</strong>an<strong>de</strong>r stehen), JOIN_ROUND (Abschluß <strong>de</strong>r L<strong>in</strong>ien<br />

durch abgerun<strong>de</strong>te Ecken) und JOIN-BEVEL (E<strong>in</strong>e L<strong>in</strong>ie wird zwischen <strong>de</strong>n äußeren<br />

Eckpunkten gezogen).<br />

259 Beschreibung quadratischer und kubischer Kurvensegmente. Das s<strong>in</strong>d Kurven, die durch zwei Endpunkte<br />

und durch Kontrollpunkte dazwischen gegeben s<strong>in</strong>d. Kubische Kurvensegmente wer<strong>de</strong>n auch Bézier-Kurven<br />

genannt.<br />

292

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!