Walter Doberenz. Carl Hanser Verlag München Wien

Ähnliche Dokumente
Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Das Einsteigerseminar Objektorientierte Programmierung in Java

Brogrammiereii lernen in

Olaf Borkner-Delcarlo. Umstieg auf Java. Professionelle Softwareentwicklung mit dem JDK 1.1 HANSER. Carl Hanser Verlag München Wien

Alexander Niemann. Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java. bhv. i.-

Komplettes Starterkit für den erfolgreichen Einstieg in die Programmierung

Objektorientierte Programmierung in Java

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: Weitere Informationen oder Bestellungen unter

Java Programmierhandbuch

Beschreibung des Angebotes. Java Programmierung. LernenimInternet. Ansprechpartner. Angebot-Nr Angebot-Nr Weiterbildung.

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker

Walter Doberenz/Thomas Kowalski Programmieren lernen in

Inhalt. Vorwort 13. Einleitung JavaScript-Grundlagen 17

Inhaltsverzeichnis. Inhaltsverzeichnis

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Programmieren lernen in ASP.NET mit C#

Programmieren in Java

Gliederung der Folien

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Christian Wenz JavaScript Browserübergreifende Lösungen

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Objektorientierte Programmierung in Java

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Programmieren in Java

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Visual Basic.NET mit Methode

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Netzwerkprogrammierung unter Linux und UNIX

Java als erste Programmiersprache

Schnellübersicht...5. Vorwort...7. Inhaltsverzeichnis Vor dem Start Wer sind Sie? Hinweise zum Buch...

Matthias-Claudius-Gymnasium Fachcurriculum Informatik

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

AuD-Tafelübung T-B5b

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Objektorientierte Programmierung mit Java

Inhalt. Vorwort. Bibliografische Informationen digitalisiert durch

Programmieren lernen in Visual Basic.NET

C++ Programmieren mit einfachen Beispielen DIRK LOUIS

in 21 Tagen Jesse Liberty Der optimale Weg - {Schritt für Schritt zum Programmierprofi

Java für Fortgeschrittene

Programmieren in Java

Scriptsprachen für dynamische Webauftritte

Einführung in die Informatik - Teil 6a -

Einführung und Vorstellung: Grundlagen der Java- Programmierung. paluno

TURBO PASCAL VERSION 5.5

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Inhalt. Teil I: Der Sprachkern von JavaScript

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage

Inhaltsverzeichnis. Ulrich Stein. Einstieg in das Programmieren mit MATLAB ISBN: Weitere Informationen oder Bestellungen unter

Java. Пи dpunkt.verlag. Stefan Middendorf Reiner Singer. Programmierhandbuch und Referenz für die Java-2-Plattform. Einführung und Kernpakete

Objektorientierte Programmierung mite**

Ulrich Stein. Einstieg in das Programmieren. mit MATLAB. 2., aktualisierte Auflage. Mit 153 Bildern. Fachbuchverlag Leipzig im Carl Hanser Verlag

Michael Seeboerger-Weichselbaum. Das Einsteigerseminar JavaScript 4., überarbeitete Auflage

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Inhaltsverzeichnis. Warren D. Sande, Carter Sande. Hello World! Programmieren für Kids und andere Anfänger. Übersetzt von Dorothea Heymann-Reder

Arnold Willemer. Einstieg in C++ Galileo Press

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java

Inhalt. Vorwort Erste Grundlagen... 15

1 Einführung Erste Schritte Programmierkurs Datentypen Weiterführende Programmierung

Inhaltsverzeichnis. Ulrich Stein. Programmieren mit MATLAB. Programmiersprache, Grafische Benutzeroberflächen, Anwendungen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Thomas Theis. Einstieg in JavaScript

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Effektiv Programmieren in С und C++

2 Anlegen und Konfigurieren von Datenbanken 35

Michael Kolberg. einfach klipp & klar. Microsofft* Press

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Programmieren in Lua

C für Java-Programmierer

Grundkurs Software- Entwicklung mit C++

Vorwort zur sechsten Auflage

Objektorientierte Programmierung Studiengang Medieninformatik

C für Java- Programmierer

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Inhalt. Vorwort 11. Steyer, Ralph JavaFX digitalisiert durch: IDS Basel Bern

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

GUI-Programmierung mit Java. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 11: GUI 1: AWT (1) GUI-Programmierung mit Java.

Inhalt. Vorwort 13. Einleitung 15. Für wen ist dieses Buch gedacht? 15 Zum Aufbau des Buchs Installation und erste Schritte 17

Dirk Loui. Markt&Technik Buch- und Software- Verlag GmbH. Delphi 3

Richtig einsteigen: Access 2007 VBA-Programmierung

<Trainingsinhalt> C# programmieren

Java lernen mit BlueJ

Java als erste Programmiersprache

Objektorientiertes Programmieren in C++

Java - AWT Basispraktikum SystemArchitektur WS 2008/ Atanas Dimitrov

Praktische Eine Einführung

Transkript:

Walter Doberenz Carl Hanser Verlag München Wien

Inhaltsverzeichnis 1 Einführung 25 1.1 Vorbereitungen 25 1.1.1 Hardware 25 1.1.2 Software 26 1.1.3 Softwareinstallation von Buch-CD 27 1.2 Das World Wide Web (WWW) im Internet 30 1.2.1 Das Internet 30 1.2.2 Das World Wide Web 30 1.3 Technische Standards des WWW 32 1.3.1 TCP/IP und FTP 32 1.3.2 URL, HTTP und HTML 33 1.4 Java 34 1.4.1 Entstehungsgeschichte 34 1.4.2 Vorteile von Java 35 1.4.3 Applets und Anwendungen 38 1.5 Einführungsbeispiele 38 1.5.1 Beispiel 1: Java Anwendung 39 1.5.2 Beispiel 2: Java Applet 40 1.6 Ergänzungen 44 1.6.1 Keine Angst vor JavaScript 44 1.6.2 Virtuelle Maschine und Lizenzbedingungen 45

10 Inhaltsverzeichnis 2 Sprachelemente 49 2.1 Allgemeine Java-Syntax 49 2.1.1 Anweisungen 49 2.1.2 Bezeichner 50 2.1.3 Blocks 51 2.1.4 Kommentare 52 2.2 Variablen, Strings und Konstanten 54 2.2.1 Variablendeklaration 54 2.2.2 Werte zuweisen 55 2.2.3 Grunddatentypen 55 2.2.4 Typ-Casting 59 2.2.5 Zeichenketten 60 2.2.6 Konstanten 62 2.3 Operatoren 63 2.3.1 Übersicht 63 2.3.2 Prioritäten und Klammern 69 2.4 Arrays 71 2.4.1 Erstellen von Arrays 71 2.4.2 Zugriff auf Array-Elemente 72 2.4.3 Mehrdimensionale Arrays 73 2.5 Verzweigungen 74 2.5.1 //Anweisung 74 2.5.2 Bedingte Bewertung 75 2.5.3 Switch Anweisung 76 2.6 Schleifenanweisungen 78 2.6.1 For Schleife 78 2.6.2 While Schleife 79

Inhaltsverzeichnis 11 2.6.3 Do-While Schleife 80 2.6.4 Besondere Verzweigungen bei Schleifen 81 3 Objektorientierte Programmierung 87 3.1 OOP Einführung 87 3.1.1 Was sind Objekte? 87 3.1.2 Nachrichten 89 3.1.3 Klassen 91 3.1.4 Vererbung 92 3.1.5 Abstraktionen 93 3.1.6 Klassenbäume und Packages 94 3.1.7 Objektorientierter Entwurf 95 3.2 Einstieg in OOP mit Java 96 3.2.1 Klassen, Objekte und Instanzen 96 3.2.2 Objekte erzeugen 97 3.2.3 Objekte verwenden 98 3.2.4 Objekte vernichten 100 3.3 Schreiben eigener Klassen 101 3.3.1 Klassendeklaration 101 3.3.2 Der Klassenkörper 104 3.3.3 Instanz- und Klassenvariablen 106 3.4 Variablendeklaration 108 3.4.1 Zugriff auf Mitgliedsvariablen 108 3.4.2 Zusammenfassung dervariablendeklaration 113 3.5 Schreiben von Methoden 114 3.5.1 Implementation 114 3.5.2 Argumente 115

12 Inhaltsverzeichnis 3.5.3 Rückgabewert einer Methode 116 3.5.4 Übergabe einfacher Datentypen als Pass by Value 117 3.5.5 Übergabe von Objektvariablen als Pass by Reference 118 3.6 Vererbung 119 3.6.1 Unterklassen, Superklassen und Vererbung 119 3.6.2 Überschreiben von Methoden 120 3.6.3 Abstrakte Klassen und Methoden 121 3.6.4 Schreiben von Finalklassen und Methoden 122 3.7 Interfaces 124 3.7.1 Wozu braucht man Interfaces? 124 3.7.2 Interfacedeklaration 125 3.7.3 Der Interfacekörper 125 3.7.4 Benutzen eines Interface 126 3.7.5 Eigene Interfaces programmieren 126 3.7.6 Mehrfachvererbung /Multiple Vererbung 127 4 Klassenbibliotheken 131 4.1 Übersicht Java-Packages 131 4.1.1 Verzeichnis struktur 131 4.1.2 Zugriff auf Packages 132 4.1.3 Die CLASSPATH Umgebungsvariable 133 4.1.4 Eigene Packages 134 4.1.5 Java Packages 134 4.2 Java Language Package 136 4.2.1 Object 136 4.2.2 Datentypen-Hüllenklassen 137 4.2.3 Class, Exceptions/Errors, Process 137 4.2.4 Math 138

Inhaltsverzeichnis 13 4.3 Applet-Package 139 4.3.1 Lebenszyklus eines Applets 139 4.3.2 Appletmethoden 141 4.4 Java I/O-Package 142 4.4.1 Streams und ihre Bedeutung 142 4.4.2 Stream-Klassen 142 4.5 Java Utility Package 143 4.5.1 BitSet 143 4.5.2 Date 144 4.5.3 Hashtable und Properties 144 4.5.4 Observable 145 4.5.5 StringTokenizer 145 4.5.6 Vector 146 4.5.7 Stack 147 4.6 AWT 148 4.6.1 Was ist das GUI? 148 4.6.2 Merkmale des AWT 148 4.6.3 Komponenten, Container und Events 150 4.6.4 Ereignismethoden 151 4.6.5 Event-Klasse 152 4.6.6 AWT-Komponenten-Übersicht 156 4.6.7 Buttons 157 4.6.8 Auswahl/Choice 158 4.6.9 Checkboxen 159 4.6.10 Radio Buttons 160 4.6.11 Listen 161 4.6.12 Textkomponenten 163 4.6.13 Canvas 165

14 Inhaltsverzeichnis 4.6.14 Scrollbars 166 4.7 Klassen zur Stringbearbeitung 168 4.7.1 StringBuffer 168 4.7.2 Stringfunktionen 169 4.8 System-Klasse 172 4.8.1 Besonderheiten 172 4.8.2 Anwenden der Sytemklasse 173 4.8.3 Standard-I/O Streams 173 4.8.4 Print und Printin - Methoden 174 4.8.5 System-Eigenschaften 175 4.8.6 Kopieren von Arrays 177 4.8.7 Weitere Methoden 177 5 Grafik und Layout 183 5.1 Zeichnungen, Text und Farbe 183 5.1.1 Graphics-Klasse 183 5.1.2 Grafikmethoden 183 5.1.3 Zeichengebiete 184 5.1.4 Grafikfiguren 186 5.1.5 Zeichnungsfunktionen 187 5.1.6 Textausgabe 192 5.1.7 Schriftarten 193 5.1.8 Farben 196 5.1.9 Sandwich-Prinzip 198 5.2 Java-Layoutmanager 199 5.2.1 Positionierung und Größe von Komponenten 199 5.2.2 Erzeugen eines Layout-Managers 200 5.2.3 Anwenden eines Layoutmanagers 201

Inhaltsverzeichnis 15 5.2.4 Peer-Objekte 201 5.2.5 AWT-Layoutmanager 202 5.2.6 FlowLayout 202 5.2.7 BorderLayout 203 5.2.8 GridLayout 204 5.2.9 CardLayout 205 5.2.10 GridBagLayout 206 5.2.11 Auswahl des Layoutmanagers 209 5.2.12 Eigene Layoutmanager schreiben 209 5.2.13 Absolutes Positionieren 210 5.2.14 Layout-Beispiel "Taschenrechner" 210 6 Multimedia 217 6.1 Bilder 218 6.1.1 Support und Formate 218 6.1.2 Laden von Grafiken 219 6.1.3 Verfolgen des Bildladevorgangs 220 6.1.4 Anzeigen 221 6.1.5 Verarbeiten 222 6.1.6 ImageFilter selbst schreiben 224 6.2 Animationen 225 6.2.1 Grundlagen 225 6.2.2 Animationsschleife 225 6.2.3 Flackereffekt 226 6.2.4 Bewegen eines Bildes über den Bildschirm 229 6.2.5 Anzeigen einer Bildersequenz... 230 6.2.6 Erhöhen der Performance 230 6.3 Sound 231

16 Inhaltsverzeichnis 7 Techniken der Programmentwicklung 235 7.1 Java-Applets 235 7.1.1 Unterschied Applet und Anwendung 235 7.1.2 Erstellen einer Applet-Unterklasse 236 7.1.3 Methoden überschreiben 236 7.1.4 Beispiel für einfaches Applet 237 7.1.5 Attribute des <APPLET>-Tag 242 7.2 Java-Anwendungen 243 7.2.1 Allgemein verwendbares Codegerüst 243 7.2.2 Die Mam-Methode 245 7.2.3 Java Anwendungen und Frames 245 7.3 Multithreading 248 7.3.1 Grundlagen 248 7.3.2 Threadkörper 248 7.3.3 Threadzustände 249 7.3.4 Threadausführung 251 7.3.5 Einzelprozessorsysteme 252 7.3.6 Synchronisation 252 7.4 Fehlerbehandlung und Exceptions 254 7.4.1 Grundlagen 254 7.4.2 Exceptions 255 7.4.3 Exceptions und Fehlerbehandlung 260 7.4.4 Eigene Exceptions definieren und auffangen 262 7.5 Netzwerke und URLs 264 7.5.1 Netzwerke 264 7.5.2 URL Klasse 266 7.5.3 Kommunizieren über URL 268

Inhaltsverzeichnis 17 7.6 Client/Server-Prinzip und Sockets 271 7.6.1 Grundlagen 271 7.6.2 Sockets 272 7.6.3 Datagram-Verbindung 274 8 Wie kann ich...? (Allgemeine Grundlagen) 277 8.1 Einstieg in WWW, HTML und Java 277 8.1.1...ins World Wide Web einsteigen? 277 8.1.2... mein Modem für Nebenstellenbetrieb konfigurieren? 281 8.1.3... mit T-Online direkt ins Internet gelangen? 282 8.1.4... mit dem HotJava-Browser arbeiten? 287 8.1.5... eine eigene Homepage ins WWW stellen? 291 8.1.6... HTML schreiben? 292 8.1.7... eine HTML - Datei bearbeiten? 294 8.1.8... das JDKfür andere Plattformen beschaffen? 295 8.1.9... Java-Logos nutzen? 296 8.1.10... mich über Neuerungen informieren? 296 8.2 Java-Umgebung 299 8.2.1... Java unter Windows 95 installieren? 299 8.2.2... die Java Dokumentation nutzen? 300 8.2.3... Demobeispiele des JDK ausprobieren? 301 8.2.4... mit JPad arbeiten? 301 8.2.5... mit dem Debugger arbeiten? 306 8.2.6... schnell in Java einsteigen? 307

18 Inhaltsverzeichnis 9 Wie kann ich...? (OOP) 313 9.1 OOP-Schnellkurs 313 9.1.1... einfache Java-Sprachelemente ausprobieren? 313 9.1.2... Klassen verstehen? 317 9.1.3... Instanzenvariablen von Klassenvariablen unterscheiden? 319 9.1.4... Instanzenmethoden von Klassenmethoden unterscheiden? 320 9.1.5... Vererbung anwenden? 322 9.1.6... Konstruktoren verstehen? 323 9.1.7... Zugriffsmethoden und Defaultwerte verstehen? 326 9.1.8... mehr über Vererbung erfahren? 329 9.1.9... Interfaces verstehen? 333 9.2 Objekte, Klassen und Ereignisse 339 9.2.1... ein Objekt duplizieren? 339 9.2.2... meine Klassen mit dem Observable Interface überwachen? 340 9.2.3... auf einen Buttonklick reagieren? 341 9.2.4... Anwendungen mit dem Systemmenü schließen? 341 9.2.5... die Enter - Taste erkennen? 342 9.3 Fenster und Dialoge 343 9.3.1... die Fenstergröße neu festlegen? 343 9.3.2... die Bildschirmgröße ermitteln? 343 9.3.3... ein Fenster zentrieren? 343 9.3.4... einen Dialog als Panel realisieren? 344 9.3.5... Dialoge in einem Applet nutzen? 345 9.3.6... eine MessageBox für Applets realisieren? 346 9.3.7... eine modale MessageBox erzeugen? 348

Inhaltsverzeichnis 19 10 Wie kann ich...? (Oberfläche) 353 10.1 Applets und Anwendungen 353 10.1.1... Parameter an Applets übergeben? 353 10.1.2... Applets mit unterschiedlichen Farben aufrufen? 356 10.1.3...Applets mit einem HTML-Skelett laden? 359 10.1.4... eine Homepage mit Applets automatisch laden? 360 10.1.5... Applets mit Netscape testen? 360 10.1.6... ein Applet aus dem Web nutzen? 362 10.1.7... eine Statusmeldung anzeigen? 362 10.1.8... in einem Applet Systemeigenschaften lesen? 363 10.1.9... mit dem Cursor im Applet arbeiten? 364 10.1.10... ein Applet in eine Anwendung umwandeln? 365 10.2 Komponenten 366 10.2.1...einen Zeilenumbruch in einer TextArea erzwingen? 366 10.2.2... in ein TextField nur Ziffern eingeben? 366 10.2.3... zwischen Komponenten mit der Tab-Taste springen? 368 10.2.4... ein Panel scrollen? 370 10.2.5... eigene Buttons programmieren? 376 10.2.6... eine Fortschrittsanzeige realisieren? 380 11 Wie kann ich...? (Zeichnen und Rechnen) 387 11.1 Grafikprogrammierung 387 11.1.1... mit Grafikmethoden experimentieren? 387 11.1.2... Polygone zeichnen? 390 11.1.3... einen Rahmen um das Applet ziehen? 392 11.1.4... eine gedrehte Ellipse zeichnen? 393 11.1.5... Informationen über die Schriftart erhalten? 394

20 Inhaltsverzeichnis 11.2 Mathematische Anwendungen 395 11.2.1... mathematische Funktionen nutzen? 395 11.2.2... Datentypen konvertieren? 395 11.2.3... eigene Konstanten definieren? 396 11.2.4... den größten gemeinsamen Teiler bestimmen? 396 11.2.5... Zahlen runden oder beschneiden? 396 11.2.6... Zahlen ausgeben? 397 11.2.7... mit komplexen Zahlen rechnen? 398 11.2.8... mit Zufallszahlen arbeiten? 400 11.2.9... Uhrzeit und aktuelles Datum ausgeben? 401 11.2.10...mit einem Interface sortieren? 402 11.2.11... ein Funktionsdiagramm darstellen? 405 12 Wie kann ich...? (Multimedia & Grafik) 409 12.1 Multimedia 409 12.1.1... einen Timer realisieren? 409 12.1.2... ein Pixelarray in ein Bild umsetzen? 409 12.1.3... Bilderbearbeiten? 410 12.1.4... eine Analoguhr für meine Webseite schreiben? 411 12.1.5... WAV-Dateien verwenden? 414 12.2 Fortgeschrittene Techniken der Bildverarbeitung 415 12.2.1... die Doppelpufferung effektiv implementieren? 415 12.2.2... Bildbereiche kopieren? 417 12.2.3... eine Animation programmieren? 421 12.2.4... Bitmaps transparent darstellen? 431 12.2.5... an die Grenzen der Animationstechniken vorstoßen? 436

Inhaltsverzeichnis 21 13 Wie kann ich...? (Sonstiges) 443 13.1 Stringverarbeitung 443 13.1.1... Strings verknüpfen? 443 13.1.2... Strings miteinander vergleichen? 443 13.1.3... überprüfen, ob ein String leer ist? 444 13.1.4... Stringoperationen beschleunigen? 444 13.1.5... Zufallsstrings erzeugen? 446 13.2 Datenstrukturen 447 13.2.1... mehrdimensionale dynamische Arrays erzeugen? 447 13.2.2...verkettete Listen anwenden? 450 13.2.3... indizierte Datensätze verwalten? 457 13.3 Dateien 462 13.3.1... Daten aus einer Datei lesen? 462 13.3.2... das Dateiende erkennen? 463 13.3.3... Daten in eine Datei schreiben? 464 13.4 Kommunikation Client/Server 465 13.4.1... die Uhrzeit eines Servers ermitteln? 465 13.4.2... eineurl-connectionherstellen? 466 13.4.3... eine minimale Client/Server Anwendung schreiben? 466 13.5 Sonstiges 469 13.5.1...die Parameterübergabe an Methoden verstehen? 469 13.5.2... Kommandozeilenargumente bearbeiten? 472 13.5.3... Threads synchronisieren? 473 13.5.4... Packages in ZIP-Dateien verpacken? 476 13.5.5... Eingabeformulare mit JavaScript überprüfen? 477 13.5.6... Dokumentationskommentare einsetzen? 478

22 Inhaltsverzeichnis Anhang 481 A: Abkürzungen 483 B: Quellenverzeichnis 486 C: Der Autor in eigener Sache 487 Index 489