diff options
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100151.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100151.html | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100151.html b/Master/Reference Architectures and Patterns/hjp5/html/k100151.html new file mode 100644 index 0000000..37eddf0 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100151.html @@ -0,0 +1,195 @@ +<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,k100150.html;107,k100152.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="k100150.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100152.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="sectlevel2id023001"></a>
+<h2>23.1 Das Abstract Windowing Toolkit </h2>
+<hr>
+<ul>
+<li><a href="k100151.html#sectlevel2id023001">23.1 Das Abstract Windowing Toolkit</a>
+<ul>
+<li><a href="k100151.html#sectlevel3id023001001">23.1.1 Grundlegende Eigenschaften</a>
+<li><a href="k100151.html#sectlevel3id023001002">23.1.2 Von AWT nach Swing</a>
+<ul>
+<li><a href="k100151.html#sectlevel4id023001002001">Änderungen mit dem JDK 1.1</a>
+<li><a href="k100151.html#sectlevel4id023001002002">Swing</a>
+</ul>
+</ul>
+</ul>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel3id023001001"></a>
+<h3>23.1.1 Grundlegende Eigenschaften </h3>
+
+<p>
+Im Gegensatz zu den meisten anderen Programmiersprachen wurde Java
+von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber
+einfach zu bedienendes System für die Gestaltung grafischer Oberflächen
+zur Verfügung zu stellen. Das Resultat dieser Bemühungen
+steht seit dem JDK 1.0 als Grafikbibliothek unter dem Namen <a name="ixa101519"><i>Abstract
+Windowing Toolkit</i></a> (<a name="ixa101520"><i>AWT</i></a>)
+zur Verfügung.
+
+<p>
+Die Fähigkeiten des AWT lassen sich grob in vier Gruppen unterteilen:
+<ul>
+<li>Grafische Primitivoperationen zum Zeichnen von Linien oder Füllen
+von Flächen und zur Ausgabe von Text
+<li>Methoden zur Steuerung des Programmablaufs auf der Basis von Nachrichten
+für Tastatur-, Maus- und Fensterereignisse
+<li>Dialogelemente zur Kommunikation mit dem Anwender und Funktionen
+zum portablen Design von Dialogboxen
+<li>Fortgeschrittenere Grafikfunktionen zur Darstellung und Manipulation
+von Bitmaps und zur Ausgabe von Sound
+</ul>
+
+<p>
+Da die grafischen Fähigkeiten Bestandteil der Sprache bzw. ihrer
+Klassenbibliothek sind, können sie als portabel angesehen werden.
+Unabhängig von der Zielplattform wird ein GUI-basiertes Programm
+auf allen verwendeten Systemen gleich oder zumindest ähnlich
+laufen.
+
+<!-- Section -->
+
+<a name="sectlevel3id023001002"></a>
+<h3>23.1.2 Von AWT nach Swing </h3>
+
+
+<!-- Section -->
+<a name="sectlevel4id023001002001"></a>
+<h4>Änderungen mit dem JDK 1.1 </h4>
+
+<p>
+Die Entwicklung von grafikorientierten Anwendungen im JDK 1.0 war
+zwar relativ einfach und erzeugte portable Programme mit grafischer
+Oberfläche, war aber durch eine Reihe von Fehlern und Restriktionen
+des AWT eingeschränkt. Vor allem bei der Erstellung großer
+GUI-Anwendungen wurden die Programme schnell unübersichtlich,
+und die Performance litt unter dem unzulänglichen Event-Modell
+der Version 1.0. Mit der Version 1.1 des JDK hat SUN das AWT massiv
+verändert. Es gab umfangreiche Fehlerbehebungen, und eine Vielzahl
+von Methodennamen wurde geändert. Vor allem aber wurde das Event-Handling,
+also der Transfer von GUI-Ereignissen, komplett überarbeitet.
+
+<p>
+Das neue Schlagwort lautet <a name="ixa101521"><i>Delegation Based Event Handling</i></a>.
+Es bezeichnet die Fähigkeit des AWT, GUI-Ereignisse an beliebige
+Objekte weiterzuleiten und dort zu behandeln. Obwohl das Verständnis
+für diese neuen Techniken etwas schwieriger zu erlangen ist als
+beim alten Event-Modell, lohnt sich der zusätzliche Aufwand.
+Die Entwicklung großer GUI-Anwendungen mit einer klaren Trennung
+zwischen Benutzeroberfläche und Applikationslogik wird so erst
+möglich gemacht. Wir werden in <a href="k100180.html#kapiteleventhandling">Kapitel 28</a>
+detailliert auf das neue Paradigma eingehen. Wo erforderlich, werden
+einzelne Bestandteile bereits vorher informell eingeführt.
+
+<!-- Section -->
+
+<a name="sectlevel4id023001002002"></a>
+<h4>Swing </h4>
+
+<p>
+Neben dem AWT gibt es eine zweite Bibliothek für die Gestaltung
+grafischer Benutzeroberflächen. Sie heißt <a name="ixa101522"><i>Swing</i></a>,
+ist seit dem JDK 1.1 als Add-On verfügbar und seit der Version
+1.2 fester Bestandteil des Java Development Kit. Da Swing-Anwendungen
+in ihren Möglichkeiten weit über das hinausgehen, was das
+AWT bietet, werden heute die meisten GUI-Programme mit Swing geschrieben.
+Wir beschreiben Swing ab <a href="k100228.html#kapitelswinggrundlagen">Kapitel 35</a>.
+Dennoch macht es Sinn, sich zunächst mit dem AWT zu beschäftigen.
+
+<p>
+Einerseits ist das AWT einfacher zu erlernen, denn es ist weniger
+umfangreich als Swing. Gerade als Anfänger muss man nicht so
+viele neue Konzepte erlernen. Zum anderen werden viele der AWT-Features
+auch in Swing benötigt, und das mühsam angeeignete Wissen
+ist nicht völlig verloren. Ob es um die Verwendung von Farben
+oder unterschiedlichen Schriftarten oder um die Anordnung von Dialogelementen
+mit Hilfe von Panels und Layout-Managern geht, die zugrunde liegenden
+Techniken sind in beiden Fällen gleich. Drittens gibt es auch
+heute noch Anwendungen für das AWT, etwa bei der Applet-Programmierung,
+oder wenn die Verwendung von plattformspezifischen Dialogelementen
+zwingend erforderlich ist.
+<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>
+Leser, die dennoch ausschließlich Swing lernen wollen und das
+AWT als unnötigen Ballast ansehen, brauchen die Kapitel <a href="k100192.html#kapitelmenues">30</a>
+und <a href="k100206.html#kapitelawtdialogelemente">32</a> lediglich
+kurz anzusehen. Das dazwischen liegende <a href="k100201.html#kapitelguidialoge">Kapitel 31</a>
+sollte dagegen nicht übersprungen werden, denn es beschreibt
+die Arbeitsweise und Anwendung der Layoutmanager. Die übrigen
+Kapitel in diesem Teil des Buchs behandeln Themen, die in beiden Welten
+von Bedeutung sind.</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>
+<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="k100150.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100152.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>
|
