summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100174.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100174.html')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/html/k100174.html203
1 files changed, 203 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100174.html b/Master/Reference Architectures and Patterns/hjp5/html/k100174.html
new file mode 100644
index 0000000..6d09b57
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100174.html
@@ -0,0 +1,203 @@
+<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,k100173.html;106,k100173.html;107,k100175.html;108,k100180.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">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100175.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
+<td align="right">Kapitel 27 - Fenster
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id027001"></a>
+<h2>27.1 Die verschiedenen <a name="ixa101750">Fensterklassen</a>
+</h2>
+<hr>
+<ul>
+<li><a href="k100174.html#sectlevel2id027001">27.1 Die verschiedenen Fensterklassen</a>
+</ul>
+<hr>
+
+<p>
+Das Abstract Windowing Toolkit von Java enth&auml;lt verschiedene
+Fensterklassen, die &uuml;ber eine gemeinsame Vererbungshierarchie
+miteinander in Verbindung stehen (siehe <a href="k100174.html#hierarchiefensterklassen">Abbildung 27.1</a>).
+Oberste Fensterklasse ist <a name="ixa101751"><a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a></a>,
+daraus wurde <a name="ixa101752"><a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a></a>
+abgeleitet. <a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>
+ist die Oberklasse der beiden Klassen <a name="ixa101753"><a href="index_w.html#ixb101146"><font color=#000080><tt>Window</tt></font></a></a>
+und <a name="ixa101754"><a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a></a>.
+W&auml;hrend <a href="index_w.html#ixb101146"><font color=#000080><tt>Window</tt></font></a>
+sich in die Unterklassen <a name="ixa101755"><a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a></a>
+und <a name="ixa101756"><a href="index_d.html#ixb101145"><font color=#000080><tt>Dialog</tt></font></a></a>
+verzweigt, wird aus <a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>
+die Klasse <a name="ixa101757"><a href="index_a.html#ixb100588"><font color=#000080><tt>Applet</tt></font></a></a>
+abgeleitet. Unterhalb von <a href="index_d.html#ixb101145"><font color=#000080><tt>Dialog</tt></font></a>
+gibt es noch den Standard-File-Dialog in der Klasse <a name="ixa101758"><a href="index_f.html#ixb101355"><font color=#000080><tt>FileDialog</tt></font></a></a>.
+<p>
+<a name="hierarchiefensterklassen"></a>
+<img src="images/VererbAWTFenster.gif">
+<p>
+
+<p><i>
+Abbildung 27.1: Hierarchie der Fensterklassen</i></p>
+
+<p>
+<a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
+ist eine abstrakte Klasse, deren Aufgabe darin besteht, ein Programmelement
+zu repr&auml;sentieren, das eine Gr&ouml;&szlig;e und Position hat
+und das in der Lage ist, eine Vielzahl von Ereignissen zu senden und
+auf diese zu reagieren. In den folgenden Abschnitten werden wir einige
+ihrer Eigenschaften vorstellen.
+
+<p>
+<a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>
+ist ebenfalls eine abstrakte Klasse. Sie ist daf&uuml;r zust&auml;ndig,
+innerhalb einer Komponente andere Komponenten aufzunehmen. <a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>
+stellt Methoden zur Verf&uuml;gung, um Komponenten hinzuzuf&uuml;gen
+oder sie zu entfernen, und realisiert in Zusammenarbeit mit den <font color="#000077"><tt>LayoutManager</tt></font>-Klassen
+die Positionierung und Anordnung der Komponenten. <a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>
+und <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
+bilden zusammen ein Composite-Pattern, wie es in <a href="k100068.html#compositepattern">Abschnitt 10.4.7</a>
+beschrieben wurde. Weitere Informationen zur Klasse <a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>
+finden sich in <a href="k100202.html#dialogerstellen">Abschnitt 31.1</a>
+bei der Beschreibung von Dialogen und Layoutmanagern.
+
+<p>
+<a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>
+ist die einfachste konkrete Klasse mit den Eigenschaften von <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
+und <a href="index_c.html#ixb101353"><font color=#000080><tt>Container</tt></font></a>.
+Sie wird verwendet, um eine Sammlung von Dialogelementen mit einem
+vorgegebenen Layout zu definieren und wiederverwendbar zu machen.
+N&uuml;tzlich ist die Klasse auch beim Layouten von Dialogen, weil
+sie es erm&ouml;glicht, Teildialoge zu schachteln und mit eigenen
+Layoutmanagern zu versehen. Wir werden auf die Verwendung der Klasse
+<a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>
+in <a href="k100201.html#kapitelguidialoge">Kapitel 31</a> bei der
+Beschreibung von Benutzerdialogen zur&uuml;ckkommen.
+
+<p>
+Die f&uuml;r die Entwicklung von Applets wichtige Klasse <a href="index_a.html#ixb100588"><font color=#000080><tt>Applet</tt></font></a>
+ist eine direkte Unterklasse von <a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>.
+Sie erweitert zwar die Funktionalit&auml;t der Klasse <a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>
+um Methoden, die f&uuml;r das Ausf&uuml;hren von Applets von Bedeutung
+sind, bleibt aber letzlich ein Programmelement, das eine Gr&ouml;&szlig;e
+und Position hat, auf Ereignisse reagieren kann und in der Lage ist,
+weitere Komponenten aufzunehmen. Einerseits ist es bemerkenswert,
+dass eine Klasse wie <a href="index_a.html#ixb100588"><font color=#000080><tt>Applet</tt></font></a>,
+die f&uuml;r eine riesige Zahl von Anwendungen von elementarer Bedeutung
+ist, ganz unten in der Vererbungskette eines stark spezialisierten
+Zweigs der Klassenhierarchie steht. Andererseits liefert die Klasse
+<a href="index_a.html#ixb100588"><font color=#000080><tt>Applet</tt></font></a>
+jedoch mit der vorstehenden Beschreibung eine nahezu perfekte Charakterisierung
+von Applets. Wir werden in <a href="k100248.html#kapitelapplets1">Kapitel 39</a>
+auf die Eigenschaften dieser Klasse n&auml;her eingehen.
+
+<p>
+Die Klasse <a href="index_w.html#ixb101146"><font color=#000080><tt>Window</tt></font></a>
+abstrahiert ein Top-Level-Window ohne Rahmen, Titelleiste und Men&uuml;.
+Sie ist f&uuml;r Anwendungen geeignet, die ihre Rahmenelemente selbst
+zeichnen oder die volle Kontrolle &uuml;ber das gesamte Fenster ben&ouml;tigen.
+
+<p>
+Die Klasse <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
+repr&auml;sentiert ein Top-Level-Window mit Rahmen, Titelleiste und
+optionalem Men&uuml;. Einem <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
+kann ein Icon zugeordnet werden, das angezeigt wird, wenn das Fenster
+minimiert wird. Es kann eingestellt werden, ob das Fenster vom Anwender
+in der Gr&ouml;&szlig;e ver&auml;ndert werden kann. Zus&auml;tzlich
+besteht die M&ouml;glichkeit, das Aussehen des Mauszeigers zu ver&auml;ndern.
+
+<p>
+Die zweite aus <a href="index_w.html#ixb101146"><font color=#000080><tt>Window</tt></font></a>
+abgeleitete Klasse ist <a href="index_d.html#ixb101145"><font color=#000080><tt>Dialog</tt></font></a>.
+Sie ist daf&uuml;r vorgesehen, modale oder nicht-modale Dialoge zu
+realisieren. Ein modaler Dialog ist ein Fenster, das immer im Vordergrund
+des Fensters bleibt, von dem es erzeugt wurde, und das alle &uuml;brigen
+Fensteraktivit&auml;ten und Ereignisse so lange blockiert, bis es
+geschlossen wird. Ein nicht-modaler Dialog kann mit anderen Fenstern
+koexistieren und erlaubt es, im aufrufenden Fenster weiterzuarbeiten.
+<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>
+Aufgrund von Bugs in der Windows-Portierung des AWT gab es bis zur
+Version 1.0.2 des AWT keine vern&uuml;nftige M&ouml;glichkeit, <i>modale</i>
+Dialoge zu erzeugen. Dies war ein ziemlich schwerwiegendes Problem,
+denn modale Dialoge kommen in der Programmentwicklung sehr h&auml;ufig
+vor. Sie werden immer dann ben&ouml;tigt, wenn das Programm auf die
+Eingabe eines Anwenders warten muss, bevor es fortfahren kann. Leider
+funktionierte gerade dieser Wartemechanismus nicht, und es wurden
+eine Reihe aufw&auml;ndiger Workarounds ver&ouml;ffentlicht. Mit der
+Version 1.1 des JDK war es erstmals auch unter Windows 95 m&ouml;glich,
+echte modale Dialoge in Java zu erstellen. Wir werden auf die Details
+in <a href="k100201.html#kapitelguidialoge">Kapitel 31</a> zur&uuml;ckkommen.</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">&nbsp;Hinweis&nbsp;</font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+<p>
+Die unterste Klasse in der Hierarchie der Fenster ist <a href="index_f.html#ixb101355"><font color=#000080><tt>FileDialog</tt></font></a>.
+Sie stellt den Standard-Dateidialog des jeweiligen Betriebssystems
+zur Verf&uuml;gung. Dieser kann beim Laden oder Speichern einer Datei
+zur Eingabe oder Auswahl eines Dateinamens verwendet werden. Gegen&uuml;ber
+den M&ouml;glichkeiten des Standard-Dateidialogs, wie er vom Windows-API
+zur Verf&uuml;gung gestellt wird, sind die F&auml;higkeiten der Klasse
+<a href="index_f.html#ixb101355"><font color=#000080><tt>FileDialog</tt></font></a>
+allerdings etwas eingeschr&auml;nkt.
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</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="k100173.html">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100175.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
+<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>