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/k100174.html | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100174.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100174.html | 203 |
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"> 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="k100173.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100175.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.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 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ält verschiedene
+Fensterklassen, die ü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ä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äsentieren, das eine Größ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ür zustä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ügung, um Komponenten hinzuzufü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ützlich ist die Klasse auch beim Layouten von Dialogen, weil
+sie es ermö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ückkommen.
+
+<p>
+Die fü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ät der Klasse <a href="index_p.html#ixb101354"><font color=#000080><tt>Panel</tt></font></a>
+um Methoden, die für das Ausführen von Applets von Bedeutung
+sind, bleibt aber letzlich ein Programmelement, das eine Größ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ü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ä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ü.
+Sie ist für Anwendungen geeignet, die ihre Rahmenelemente selbst
+zeichnen oder die volle Kontrolle über das gesamte Fenster benötigen.
+
+<p>
+Die Klasse <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
+repräsentiert ein Top-Level-Window mit Rahmen, Titelleiste und
+optionalem Menü. 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öße verändert werden kann. Zusätzlich
+besteht die Möglichkeit, das Aussehen des Mauszeigers zu verä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ü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 übrigen
+Fensteraktivitä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ünftige Möglichkeit, <i>modale</i>
+Dialoge zu erzeugen. Dies war ein ziemlich schwerwiegendes Problem,
+denn modale Dialoge kommen in der Programmentwicklung sehr häufig
+vor. Sie werden immer dann benö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ändiger Workarounds veröffentlicht. Mit der
+Version 1.1 des JDK war es erstmals auch unter Windows 95 möglich,
+echte modale Dialoge in Java zu erstellen. Wir werden auf die Details
+in <a href="k100201.html#kapitelguidialoge">Kapitel 31</a> zurü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"> Hinweis </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ügung. Dieser kann beim Laden oder Speichern einer Datei
+zur Eingabe oder Auswahl eines Dateinamens verwendet werden. Gegenüber
+den Möglichkeiten des Standard-Dateidialogs, wie er vom Windows-API
+zur Verfügung gestellt wird, sind die Fähigkeiten der Klasse
+<a href="index_f.html#ixb101355"><font color=#000080><tt>FileDialog</tt></font></a>
+allerdings etwas eingeschrä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"> 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="k100173.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100175.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.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>
|
