diff options
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100154.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100154.html | 525 |
1 files changed, 525 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100154.html b/Master/Reference Architectures and Patterns/hjp5/html/k100154.html new file mode 100644 index 0000000..8721713 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100154.html @@ -0,0 +1,525 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100150.html;106,k100153.html;107,k100155.html;108,k100156.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100150.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100153.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100155.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100156.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 23 - Grafikausgabe
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id023004"></a>
+<h2>23.4 Weiterführende Funktionen </h2>
+<hr>
+<ul>
+<li><a href="k100154.html#sectlevel2id023004">23.4 Weiterführende Funktionen</a>
+<ul>
+<li><a href="k100154.html#sectlevel3id023004001">23.4.1 Linien- oder Füllmodus</a>
+<li><a href="k100154.html#sectlevel3id023004002">23.4.2 Kopieren und Löschen von Flächen
+</a>
+<li><a href="k100154.html#sectlevel3id023004003">23.4.3 Die Clipping-Region</a>
+</ul>
+</ul>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel3id023004001"></a>
+<h3>23.4.1 <a name="ixa101557">Linien- oder Füllmodus</a><a name="ixa101558"></a></h3>
+
+<p>
+Mit Ausnahme von <a href="index_d.html#ixb101162"><font color=#000080><tt>drawLine</tt></font></a>
+können alle vorgestellten Routinen entweder im <i>Linien</i>-
+oder im <i>Füllmodus</i> verwendet werden. Beginnt der Methodenname
+mit <font color="#000077"><tt>draw</tt></font>, erfolgt die Ausgabe
+im Linienmodus. Es wird lediglich der Umriß der jeweiligen Figur
+gezeichnet. Beginnt der Methodenname mit <font color="#000077"><tt>fill</tt></font>,
+erfolgt die Ausgabe im Füllmodus, und das Objekt wird mit ausgefüllter
+Fläche gezeichnet.
+
+<p>
+Nachfolgend noch einmal eine Zusammenstellung der verfügbaren
+Füllfunktionen: <a name="ixa101559"></a> <a name="ixa101560"></a>
+<a name="ixa101561"></a> <a name="ixa101562"></a> <a name="ixa101563"></a>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public void fillRect(int x, int y, int w, int h)
+
+public void fillRoundRect(
+ int x, int y, int w, int h, int xr, int yr
+)
+
+public void fillPolygon(int[] arx, int[] ary, int cnt)
+public void fillPolygon(Polygon p)
+
+public void fillOval(int x, int y, int width, int height)
+
+public void fillArc(
+ int x, int y, int width, int height,
+ int startAngle, int arcAngle
+)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Graphics.html" onClick="this.href=getApiDoc('java.awt.Graphics')"><font color="#660066" size=-1>java.awt.Graphics</font></a></td>
+</tr>
+</table>
+
+<p>
+Das nachfolgende Beispiel verwendet die Methoden <a href="index_f.html#ixb101177"><font color=#000080><tt>fillRect</tt></font></a>,
+<a href="index_f.html#ixb101179"><font color=#000080><tt>fillPolygon</tt></font></a>,
+<a href="index_f.html#ixb101180"><font color=#000080><tt>fillOval</tt></font></a>
+und <a href="index_f.html#ixb101181"><font color=#000080><tt>fillArc</tt></font></a>,
+um einen stilisierten »Java«-Schriftzug anzuzeigen:
+<a name="listingid023010"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#00AA00">/* GefuellteFlaechen.inc */</font>
+<font color="#555555">002 </font>
+<font color="#555555">003 </font><font color="#0000AA">public</font> <font color="#006699">void</font> paint(Graphics g)
+<font color="#555555">004 </font>{
+<font color="#555555">005 </font> <font color="#006699">int</font>[] arx = {150,175,200,150};
+<font color="#555555">006 </font> <font color="#006699">int</font>[] ary = {100,150,100,100};
+<font color="#555555">007 </font>
+<font color="#555555">008 </font> <font color="#00AA00">//---J</font>
+<font color="#555555">009 </font> g.fillRect(70,40,20,80);
+<font color="#555555">010 </font> g.fillArc(30,90,60,60,225,180);
+<font color="#555555">011 </font> <font color="#00AA00">//---a</font>
+<font color="#555555">012 </font> g.fillOval(100,100,40,50);
+<font color="#555555">013 </font> g.fillRect(120,100,20,50);
+<font color="#555555">014 </font> <font color="#00AA00">//---v</font>
+<font color="#555555">015 </font> g.fillPolygon(arx,ary,arx.length);
+<font color="#555555">016 </font> <font color="#00AA00">//---a</font>
+<font color="#555555">017 </font> g.fillOval(210,100,40,50);
+<font color="#555555">018 </font> g.fillRect(230,100,20,50);
+<font color="#555555">019 </font>}</pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/GefuellteFlaechen.inc"><font color="#000055" size=-1>GefuellteFlaechen.inc</font></a></td>
+</tr>
+</table>
+<i>
+Listing 23.10: Ausgabe von gefüllten Flächen</i></p>
+<p>
+<a name="imageid023008"></a>
+<img src="images/LogoFuell.gif">
+<p>
+
+<p><i>
+Abbildung 23.8: Ausgabe von gefüllten Flächen</i></p>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=1></td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Man kann sich die Wirkungsweise der verschiedenen Methodenaufrufe
+etwas deutlicher machen, wenn man sie nicht im Füll-, sondern
+im Linienmodus arbeiten läßt. Dies ist auch eine nützliche
+Vorgehensweise beim Erstellen von komplexeren Grafiken. In unserem
+Beispiel würde die Ausgabe des Programms dann so aussehen:</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#0099CC">
+<tr>
+<td><font color="#FFFFFF"> Tipp </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+<p>
+<a name="imageid023009"></a>
+<img src="images/LogoLinien.gif">
+<p>
+
+<p><i>
+Abbildung 23.9: Ausgabe des Java-Logos als Liniengrafik</i></p>
+
+
+<!-- Section -->
+<a name="sectlevel3id023004002"></a>
+<h3>23.4.2 Kopieren und <a name="ixa101564">Löschen von Flächen</a>
+<a name="ixa101565"></a> </h3>
+
+<p>
+Die Klasse <a href="index_g.html#ixb101149"><font color=#000080><tt>Graphics</tt></font></a>
+stellt auch einige Methoden zum Bearbeiten bereits gezeichneter Flächen
+zur Verfügung. Diese erlauben es beispielsweise, einen rechteckigen
+Ausschnitt des Ausgabefensters zu löschen oder zu kopieren:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public void clearRect(
+ int x, int y,
+ int width, int height
+)
+
+public void copyArea(
+ int x, int y,
+ int width, int height,
+ int dx, int dy
+)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Graphics.html" onClick="this.href=getApiDoc('java.awt.Graphics')"><font color="#660066" size=-1>java.awt.Graphics</font></a></td>
+</tr>
+</table>
+
+<p>
+Die Methode <a name="ixa101566"><a href="index_c.html#ixb101184"><font color=#000080><tt>clearRect</tt></font></a></a>
+löscht das angegebene Rechteck, indem sie den Bereich mit der
+aktuellen Hintergrundfarbe ausfüllt. <font color="#000077"><tt>(x,y)</tt></font>
+bezeichnet die linke obere Ecke, <font color="#000077"><tt>(width,height)</tt></font>
+die Breite und Höhe des Fensters.
+
+<p>
+Soll ein Teil des Fensters kopiert werden, kann dazu die Methode <a name="ixa101567"><a href="index_c.html#ixb101185"><font color=#000080><tt>copyArea</tt></font></a></a>
+verwendet werden. Die ersten vier Parameter bezeichnen in der üblichen
+Weise den zu kopierenden Ausschnitt. <font color="#000077"><tt>(dx,dy)</tt></font>
+gibt die Entfernung des Zielrechtecks in <i>x</i>- und <i>y</i>-Richtung
+an. <a href="index_c.html#ixb101185"><font color=#000080><tt>copyArea</tt></font></a>
+kopiert das ausgewählte Rechteck also immer an die Position <font color="#000077"><tt>(x+dx,</tt></font>
+<font color="#000077"><tt>y+dy)</tt></font>.
+
+<p>
+Das folgende Beispiel demonstriert die Anwendung von <a href="index_c.html#ixb101185"><font color=#000080><tt>copyArea</tt></font></a>
+anhand eines Programms, das den Bildschirm (ähnlich dem Windows
+95-Hintergrund »Labyrinth«) mit einem Muster füllt:
+<a name="listingid023011"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#00AA00">/* Kopieren.inc */</font>
+<font color="#555555">002 </font>
+<font color="#555555">003 </font><font color="#0000AA">public</font> <font color="#006699">void</font> paint(Graphics g)
+<font color="#555555">004 </font>{
+<font color="#555555">005 </font> <font color="#006699">int</font> xorg = 4;
+<font color="#555555">006 </font> <font color="#006699">int</font> yorg = 28;
+<font color="#555555">007 </font> <font color="#006699">int</font>[] arx = {0,6,6,2,2,4,4,0,0};
+<font color="#555555">008 </font> <font color="#006699">int</font>[] ary = {0,0,6,6,4,4,2,2,8};
+<font color="#555555">009 </font> <font color="#0000AA">for</font> (<font color="#006699">int</font> i = 0; i < arx.length; ++i) {
+<font color="#555555">010 </font> arx[i] += xorg;
+<font color="#555555">011 </font> ary[i] += yorg;
+<font color="#555555">012 </font> }
+<font color="#555555">013 </font> g.drawPolyline(arx,ary,arx.length);
+<font color="#555555">014 </font> <font color="#0000AA">for</font> (<font color="#006699">int</font> x = 0; x <= 300; x += 8) {
+<font color="#555555">015 </font> <font color="#0000AA">for</font> (<font color="#006699">int</font> y = 0; y <= 160; y += 8) {
+<font color="#555555">016 </font> <font color="#0000AA">if</font> (x != 0 || y != 0) {
+<font color="#555555">017 </font> g.copyArea(xorg,yorg,8,8,x,y);
+<font color="#555555">018 </font> }
+<font color="#555555">019 </font> }
+<font color="#555555">020 </font> }
+<font color="#555555">021 </font>}</pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/Kopieren.inc"><font color="#000055" size=-1>Kopieren.inc</font></a></td>
+</tr>
+</table>
+<i>
+Listing 23.11: Kopieren von Flächen mit copyArea</i></p>
+
+<p>
+Hier wird zunächst ein einziges Exemplar des Musters in der Größe
+8*8 Pixel in der linken oberen Ecke des Fensters gezeichnet. Alle
+weiteren Wiederholungen werden durch Kopieren hergestellt:
+<p>
+<a name="imageid023010"></a>
+<img src="images/GrafikCopy.gif">
+<p>
+
+<p><i>
+Abbildung 23.10: Kopieren von Grafiken</i></p>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=1></td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Wann die Anwendung der Methode <a href="index_c.html#ixb101185"><font color=#000080><tt>copyArea</tt></font></a>
+in der Praxis sinnvoll ist, muss von Fall zu Fall entschieden werden.
+In unserem Beispiel wäre es sehr einfach gewesen, das Fenster
+auch ohne Kopieren mit dem Muster zu füllen, und der Overhead
+der Kopiermethode hätte vermieden werden können. Ist es
+dagegen sehr aufwändig, einen Teil des Fensters zu zeichnen,
+der an anderer Stelle repliziert werden soll, ist die Anwendung von
+<a href="index_c.html#ixb101185"><font color=#000080><tt>copyArea</tt></font></a>
+sinnvoll.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#0099CC">
+<tr>
+<td><font color="#FFFFFF"> Tipp </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel3id023004003"></a>
+<h3>23.4.3 Die <a name="ixa101568">Clipping-Region</a> </h3>
+
+<p>
+Jeder Grafikkontext hat eine zugeordnete <i>Clipping-Region</i>, die
+dazu dient, die Ausgabe auf einen bestimmten Bereich einzugrenzen.
+So wird beispielsweise verhindert, dass wichtige Teile eines Fensters,
+wie z.B. der Rahmen oder die Menüzeile, von den Ausgabeoperationen
+des Programms überschrieben werden.
+
+<p>
+Auch in Java besitzt ein Fenster eine Clipping-Region, die an das
+übergebene <a href="index_g.html#ixb101149"><font color=#000080><tt>Graphics</tt></font></a>-Objekt
+gebunden ist. Beim Aufruf der <a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a>-Methode
+entspricht ihre Größe der zur Ausgabe zur Verfügung
+stehenden Fläche. Mit Hilfe der Methode <a name="ixa101569"><a href="index_c.html#ixb101187"><font color=#000080><tt>clipRect</tt></font></a></a>
+kann die Clipping-Region nun sukzessive verkleinert werden:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public void clipRect(int x, int y, int width, int height)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Graphics.html" onClick="this.href=getApiDoc('java.awt.Graphics')"><font color="#660066" size=-1>java.awt.Graphics</font></a></td>
+</tr>
+</table>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Ein Aufruf dieser Methode begrenzt die Clipping-Region auf die Schnittmenge
+zwischen dem angegebenen Rechteck und ihrer vorherigen Größe.
+Da eine Schnittmenge niemals größer werden kann als eine
+der Mengen, aus denen sie gebildet wurde, kann <a href="index_c.html#ixb101187"><font color=#000080><tt>clipRect</tt></font></a>
+also lediglich dazu verwendet werden, die Clipping-Region zu <i>verkleinern</i>.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
+<tr>
+<td><font color="#FFFFFF"> Hinweis </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+<p>
+Soll die Clipping-Region auf einen beliebigen Bereich innerhalb des
+aktuellen Fensters ausgedehnt werden (der dabei auch größer
+sein kann als die bisherige Clipping-Region), so kann dazu die Methode
+<a name="ixa101570"><a href="index_s.html#ixb101188"><font color=#000080><tt>setClip</tt></font></a></a>
+verwendet werden, die in zwei verschiedenen Ausprägungen zur
+Verfügung steht:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public abstract void setClip(int x, int y, int width, int height)
+public abstract void setClip(Shape clip)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Graphics.html" onClick="this.href=getApiDoc('java.awt.Graphics')"><font color="#660066" size=-1>java.awt.Graphics</font></a></td>
+</tr>
+</table>
+
+<p>
+Die erste Version übergibt ein Rechteck, das die Größe
+der gewünschten Clipping-Region in Client-Koordinaten angibt.
+Die zweite Variante erlaubt die Übergabe eines Objekts, welches
+das <a name="ixa101571"><a href="index_s.html#ixb101189"><font color=#000080><tt>Shape</tt></font></a></a>-Interface
+implementiert. Das Interface besitzt derzeit jedoch nur die Methode
+<a name="ixa101572"><a href="index_g.html#ixb101190"><font color=#000080><tt>getBounds</tt></font></a></a>,
+mit der das umschließende Rechteck ermittelt werden kann:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public abstract Rectangle getBounds()
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Shape.html" onClick="this.href=getApiDoc('java.awt.Shape')"><font color="#660066" size=-1>java.awt.Shape</font></a></td>
+</tr>
+</table>
+
+<p>
+Da außer Rechtecken derzeit keine anders geformten <a href="index_s.html#ixb101189"><font color=#000080><tt>Shape</tt></font></a>-Objekte
+zur Definition der Clipping-Region unterstützt werden, wollen
+wir hier nicht weiter auf die zweite Variante von <a href="index_s.html#ixb101188"><font color=#000080><tt>setClip</tt></font></a>
+eingehen.
+
+<p>
+Soll die Ausdehnung der aktuellen Clipping-Region ermittelt werden,
+so kann dazu eine der Methoden <a name="ixa101573"><a href="index_g.html#ixb101191"><font color=#000080><tt>getClip</tt></font></a></a>
+oder <a name="ixa101574"><a href="index_g.html#ixb101192"><font color=#000080><tt>getClipBounds</tt></font></a></a>
+verwendet werden:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public abstract Shape getClip()
+
+public abstract Rectangle getClipBounds()
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Graphics.html" onClick="this.href=getApiDoc('java.awt.Graphics')"><font color="#660066" size=-1>java.awt.Graphics</font></a></td>
+</tr>
+</table>
+
+<p>
+Dabei liefert <a href="index_g.html#ixb101191"><font color=#000080><tt>getClip</tt></font></a>
+ein <a href="index_s.html#ixb101189"><font color=#000080><tt>Shape</tt></font></a>-Objekt,
+das derzeit denselben Einschränkungen unterliegt wie das beim
+Aufruf von <a href="index_s.html#ixb101188"><font color=#000080><tt>setClip</tt></font></a>
+übergebene. <a href="index_g.html#ixb101192"><font color=#000080><tt>getClipBounds</tt></font></a>
+liefert das kleinste Rechteck, das die aktuelle Clipping-Region vollständig
+umschließt.
+
+<p>
+Das folgende Beispiel wiederholt die Ausgabe des Java-Logos, grenzt
+aber vorher die Clipping-Region auf ein Fenster der Größe
+150*80 Pixel ein, das seinen Ursprung an Position (50,50) hat:
+<a name="listingid023012"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#00AA00">/* Clipping.inc */</font>
+<font color="#555555">002 </font>
+<font color="#555555">003 </font><font color="#0000AA">public</font> <font color="#006699">void</font> paint(Graphics g)
+<font color="#555555">004 </font>{
+<font color="#555555">005 </font> <font color="#006699">int</font>[] arx = {150,175,200,150};
+<font color="#555555">006 </font> <font color="#006699">int</font>[] ary = {100,150,100,100};
+<font color="#555555">007 </font>
+<font color="#555555">008 </font> g.setClip(50,50,150,80);
+<font color="#555555">009 </font> <font color="#00AA00">//---J</font>
+<font color="#555555">010 </font> g.fillRect(70,40,20,80);
+<font color="#555555">011 </font> g.fillArc(30,90,60,60,225,180);
+<font color="#555555">012 </font> <font color="#00AA00">//---a</font>
+<font color="#555555">013 </font> g.fillOval(100,100,40,50);
+<font color="#555555">014 </font> g.fillRect(120,100,20,50);
+<font color="#555555">015 </font> <font color="#00AA00">//---v</font>
+<font color="#555555">016 </font> g.fillPolygon(arx,ary,arx.length);
+<font color="#555555">017 </font> <font color="#00AA00">//---a</font>
+<font color="#555555">018 </font> g.fillOval(210,100,40,50);
+<font color="#555555">019 </font> g.fillRect(230,100,20,50);
+<font color="#555555">020 </font>}</pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/Clipping.inc"><font color="#000055" size=-1>Clipping.inc</font></a></td>
+</tr>
+</table>
+<i>
+Listing 23.12: Verwendung der Clipping-Funktionen</i></p>
+
+<p>
+Die Ausgabe des Programms erfolgt nun nur noch innerhalb der Clipping-Region:
+<p>
+<a name="imageid023011"></a>
+<img src="images/Clipping.gif">
+<p>
+
+<p><i>
+Abbildung 23.11: Verwendung der Clipping-Funktionen</i></p>
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100150.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100153.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100155.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100156.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
