diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100220.html | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100220.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100220.html | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100220.html b/Master/Reference Architectures and Patterns/hjp5/html/k100220.html new file mode 100644 index 0000000..8886c6f --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100220.html @@ -0,0 +1,135 @@ +<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,k100219.html;106,k100219.html;107,k100221.html;108,k100224.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="k100219.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100219.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100221.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100224.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 33 - Eigene Dialogelemente
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id033001"></a>
+<h2>33.1 Die Klasse Canvas </h2>
+<hr>
+<ul>
+<li><a href="k100220.html#sectlevel2id033001">33.1 Die Klasse Canvas</a>
+</ul>
+<hr>
+
+<p>
+Bisher haben wir uns nur mit <i>vordefinierten</i> Dialogelementen
+beschäftigt. Java bietet aber auch die Möglichkeit, Dialogelemente
+selbst zu definieren und wie eine vordefinierte Komponente zu verwenden.
+In der <i>Java-Beans-Spezifikation</i> wurden die dazu erforderlichen
+Techniken beschrieben und die zugrunde liegenden Konzepte definiert.
+Wir wollen uns an dieser Stelle zunächst mit den Grundlagen der
+Entwicklung eigener Dialogelemente auf der Basis der Klasse <a name="ixa102292"><a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a></a>
+befassen, wie sie mit dem <font color="#000077"><tt>SystemColorViewer</tt></font>
+in <a href="k100217.html#abschnittscrollpane">Abschnitt 32.11</a>
+angedeutet werden. Eine ausführliche Beschreibung von Java-Beans
+findet sich in <a href="k100279.html#kapitelbeans">Kapitel 44</a>.
+
+<p>
+Ein <a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a>
+ist ein frei definierbares Dialogelement, das in der Grundversion
+praktisch keinerlei Funktionalität zur Verfügung stellt.
+Damit ein <a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a>
+etwas Sinnvolles tun kann, muss daraus eine eigene Klasse abgeleitet
+werden, und in dieser müssen die Methode <a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a>
+und die Methoden zur Reaktion auf Nachrichten überlagert werden.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public Canvas()
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Canvas.html" onClick="this.href=getApiDoc('java.awt.Canvas')"><font color="#660066" size=-1>java.awt.Canvas</font></a></td>
+</tr>
+</table>
+
+<p>
+Durch Überlagern der <a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a>-Methode
+sorgt eine <a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a>-Komponente
+für die Darstellung auf dem Bildschirm:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public void paint(Graphics g)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Canvas.html" onClick="this.href=getApiDoc('java.awt.Canvas')"><font color="#660066" size=-1>java.awt.Canvas</font></a></td>
+</tr>
+</table>
+
+<p>
+Die Standardversion von <a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a>
+zeichnet nur die Ausgabefläche in der aktuellen Hintergrundfarbe.
+Eine überlagernde Version kann hier natürlich ein beliebig
+komplexes Darstellungsverhalten realisieren. Der Punkt (0,0) des übergebenen
+<a href="index_g.html#ixb101149"><font color=#000080><tt>Graphics</tt></font></a>-Objektes
+entspricht dabei der linken oberen Ecke des Ausgabebereichs.
+
+<p>
+Da die Klasse <a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a>
+aus <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
+abgeleitet ist, bekommt ein <a href="index_c.html#ixb101712"><font color=#000080><tt>Canvas</tt></font></a>-Objekt
+alle Ereignisse zugestellt, die auch an eine Komponente gehen. Hierzu
+zählen Tastatur-, Maus-, Mausbewegungs-, Fokus- und Komponentenereignisse.
+Die Implementierung der Ereignishandler erfolgt zweckmäßigerweise
+so, wie es im vierten Entwurfsmuster in <a href="k100180.html#kapiteleventhandling">Kapitel 28</a>
+vorgestellt wurde.
+<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="k100219.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100219.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100221.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100224.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>
|
