Programmieren in Java



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

Programmieren in Java

Programmieren in Java

Programmieren in Java

Programmieren in Java

JAVA PROGRAMMIEREN IN JAVA7. EXTRA: Mit kostenlosem E-Book. fritz JOBST. 6. Auflage

Objektorientierte Programmierung in Java

JAVA PROGRAMMIEREN IN JAVA7. EXTRA: Mit kostenlosem E-Book. fritz JOBST. 6. Auflage

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

JAVA PROGRAMMIEREN IN JAVA 8 AKTUEL ZU. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

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

Beschreibung des Angebotes

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik Was ist Informatik? Teilgebiete der Informatik 8

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

Gradle. Ein kompakter Einstieg in das moderne Build-Management-System ---> Mit einem Geleitwort von Hans Dockter, Erfinder von Gradle

Inhalt. Vorbemerkungen... 1

Objektorientierte Programmierung in Java

Webseiten entwickeln mit ASP.NET

Einführung Design und Programmierung. Microsoft Dynamics NAV 2016

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Inhaltsverzeichnis. 1 Hallo 13

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Software-Entwicklung mit Delphi

Objektorientierte Programmierung

VBA-Programmierung: Zusammenfassung

Microsoft Excel 2010 Pivot-Tabellen - Das Praxisbuch

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Softwareengineering. Schwerpunkt Software Engineering Ausbildung

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg.

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

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

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

Java Einführung Packages

Bernd Müller. JavaServer Faces 2.0. Ein Arbeitsbuch für die Praxis ISBN: Weitere Informationen oder Bestellungen unter

Michael Weigend. Python GE-PACKT

Liste Programmieren Java Überblick

Das Einsteigerseminar Objektorientierte Programmierung in Java

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

C-Programmierung unter TOS ATARI ST

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

1 ALLGEMEINES ZU DYNAMICS NAV Geschichte zu Dynamics NAV Datenbank Wo bekommt man Hilfe zu Dynamics NAV?...

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

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

Datenmanagement in Android-Apps. 16. Mai 2013

Inhaltsverzeichnis. 2.2 Grundlagen der UML Zusammenfassung... 53

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand:

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Microsoft PowerPoint 2013 auf einen Blick

Inhaltsverzeichnis. Vorwort... 5 Grußwort von Safe Software Inc Über den Herausgeber Über die Autoren Einleitung...

Sachwortverzeichnis

Netzwerkprogrammierung unter Linux und UNIX

GEOPROCESSING UND MODELBUILDER

Inhaltsverzeichnis. 1 Einleitung 9. Inhalt

Mambo - mit Joomla! Das Open Source-CMS einsetzen und erweitern. von Tobias Hauser, Christian Wenz. 1. Auflage. Hanser München 2005

JSP und Servlet Programmierung

Andy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag

Grundkurs Programmieren mit Delphi

Geschäftsprozessmanagement mit Visio, ViFlow und MS Project

Grundkurs Programmieren in Java

Apps für ios entwickeln

Objektorientierte Programmierung OOP

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Steffen Heinzl Markus Mathes. Middleware in Java

Graphische Benutzungsoberflächen

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

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

Inhaltsverzeichnis. Vorwort...

Planung für Organisation und Technik

Modul. Lehrveranstaltung. Betriebssysteme, Rechnerarchitekturen. EDV-Nr: Prüfungsvorl.: PA Prüfungsleist.: K90 Dozent: ra,ri,pt ECTS 10

Komplettes Starterkit für den erfolgreichen Einstieg in die Programmierung

TYPO3 4.3 für Webautoren

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009

Programmierung in Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Roberto lerusalimschy. Programmieren mit Lua

NAV. Profikurs Microsoft Dynamics. Paul M. Diffenderfer I Samir EI-Assal

Java-Grundkurs für Wirtschaftsinformatiker

<Trainingsinhalt> XML und Datenbanken

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

7. Pakete Grundlagen der Programmierung 1 (Java)

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Programmieren I. Überblick. Institut für Angewandte Informatik

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Vor- und Nachteile speicheroptimierter Tabellen

Inhalt. Teil I: Der Sprachkern von JavaScript

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

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

Informatik mit Delphi

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

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

Transkript:

Programmieren in Java von Fritz Jobst 5., überarbeitete Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40401 4 Zu Leseprobe schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Programmieren in Java Fritz Jobst ISBN 3-446-40401-5 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40401-5 sowie im Buchhandel

Inhaltsverzeichnis Vorwort... XIII Wegweiser durch das Buch... XV 1 Der Einstieg in Java... 1 1.1 Eigenschaften von Java... 1 1.2 Erstellung von Programmen... 3 1.3 Erste Programme... 4 1.3.1 Ein erstes Programm... 4 1.3.2 Ein erstes Applet... 7 1.3.3 Ein erstes Programm mit Eclipse erstellen... 9 1.3.4 Ein erstes Applet mit Eclipse erstellen... 12 2 Elemente der Programmierung... 15 2.1 Daten erklären: Elementare Datentypen... 15 2.1.1 Übersicht der elementaren Datentypen... 15 2.1.2 Deklarationen und Scheibweisen... 16 2.1.3 Beispiel: Elementare Ausdrücke... 18 2.1.4 Beispiel: Bereichsüberschreitungen... 21 2.1.5 Typumwandlungen... 22 2.1.6 Deklarationen mit dem static-modifizierer... 23 2.1.7 Namen und ihre Gültigkeit... 24 2.2 Kontrollfluss... 25 2.2.1 Verzweigung... 25 2.2.2 Mehrfachverzweigung... 29 2.2.3 Schleifen mit Vorabprüfung... 31 2.2.4 Schleife mit Prüfung am Ende... 35 2.2.5 Verlassen von Schleifen... 37 2.2.6 Programmausnahmen... 37 2.3 Methoden... 41 2.3.1 Definitionen... 41 2.3.2 Beispiele für Methoden... 44 2.3.3 Rekursion... 46 2.3.3.1 Beispiel: Berechnung der Fakultät... 47 2.3.3.2 Beispiel: Die Türme von Hanoi... 48 2.4 Felder... 52 2.4.1 Eindimensionale Felder... 52 2.4.1.1 Grundlegende Definitionen... 52 2.4.1.2 Anwendungsbeispiele... 55 2.4.1.3 Behandlung von Indexfehlern... 57 2.4.2 Suche in Feldern... 57 2.4.2.1 Lineare Suche... 57 2.4.2.2 Halbierungsmethode: Binäre Suche... 59 2.4.3 Sortieren... 60 2.4.4 Mehrdimensionale Felder... 63

VI Inhaltsverzeichnis 2.5 Operatoren in Java... 66 2.5.1.1 Arithmetische Operatoren... 67 2.5.1.2 Vergleiche und logische Verknüpfungen... 67 2.5.1.3 Reihenfolge der Auswertung... 68 2.5.1.4 Inkrement und Dekrement... 68 2.5.1.5 Bitverarbeitung... 68 2.5.1.6 Bedingter Ausdruck... 69 2.6 ANSI-Escape-Sequenzen... 70 3 Objektorientierte Programmierung in Java... 73 3.1 Das Konzept der Objektorientierung... 73 3.1.1 Wege zur Objektorientierung... 73 3.1.2 Beziehungen zwischen Klassen... 76 3.1.3 Spezialisierte Klassen und Vererbung... 77 3.1.4 Klassen und Exemplare... 79 3.1.5 Abstrakte Klassen... 79 3.1.6 Entwurf der Klassen... 79 3.1.6.1 Typ 1: Die vorgegebenen Objekte... 80 3.1.6.2 Typ 2: Verwaltungsobjekte... 80 3.1.6.3 Typ 3: Umgebungsobjekte... 80 3.1.6.4 Typ 4: Technische Objekte... 81 3.1.6.5 Gemeinsame Oberklassen finden... 81 3.2 Klassen in Java... 81 3.2.1 Eine Klasse zum Verwalten von Personen... 83 3.2.2 Konstruktoren... 87 3.2.3 Wertzuweisung und Übergabe als Parameter... 87 3.2.4 Statische Klassenelemente... 89 3.2.4.1 Grundlagen... 89 3.2.4.2 Initialisierung der static-variablen in einer Klasse... 90 3.2.5 Innere Klassen... 92 3.3 Unterklassen und Polymorphie in Java... 93 3.3.1 Definition... 93 3.3.2 Konstruktoren und Vererbung... 97 3.3.3 Implementierung der Polymorphie... 97 3.3.4 Cast-Anweisung für Klassen... 98 3.3.5 Klassen und Ausnahmen... 100 3.3.6 Abstrakte Basisklassen: Design für Vererbung... 102 3.3.7 Der final-modifizierer... 105 3.3.8 Die finalize-methode... 106 3.4 Erweiterungen im Tiger-Release... 106 3.4.1 Autoboxing und Unboxing... 106 3.4.2 Variable Anzahl von Argumenten... 108 3.5 Generische Klassen in Java... 108 3.6 Aufzählung von Konstanten: enum... 111 3.7 Schnittstellenvererbung... 113 3.7.1 Beispiel: Geometrische Objekte... 114 3.7.2 Beispiel: Sortieren von vergleichbaren Objekten... 116 3.7.3 Beispiel: Funktionen als Parameter... 119

Inhaltsverzeichnis VII 3.7.4 Beispiel: Ereignisse... 120 3.7.5 Beispiel: Kopieren von Objekten... 122 3.8 Dynamische Erzeugung von Objekten... 124 3.9 Sichtbarkeit und Packages... 128 3.9.1 Packages mit package, import... 128 3.9.2 Sichtbarkeit... 130 3.10 Serialisierung und transient... 131 3.11 Zusicherungen... 132 3.12 Aufbau von Java-Programmen... 135 4 Grundlegende Klassen... 139 4.1 Nützliche Klassen und Packages... 139 4.1.1 Das Package java.lang... 140 4.1.1.1 Inhaltsangabe für die Schnittstellen aus java.lang... 140 4.1.1.2 Inhaltsangabe für die Klassen aus java.lang... 140 4.1.1.3 Zeichenketten in Java... 141 4.1.1.4 Die Klasse System... 144 4.1.1.5 Die Klasse Math... 145 4.1.2 Formatierte Ausgabe spezieller Klassen in Java... 145 4.1.3 Selbstauskunft von Java-Programmen... 147 4.1.4 Annotations... 149 4.1.5 Reguläre Ausdrücke... 151 4.1.6 Protokollierung... 153 4.2 Einstieg in das Verwalten von Objekten... 155 4.2.1 Einstieg in die Sammlungen mit JDK 1.5... 155 4.2.2 Sequenzieller Zugriff auf Daten: List und ArrayList... 156 4.2.2.1 Beispiel: Zeichenketten aufbewahren... 157 4.2.3 Assoziative Aufbewahrung: Map und HashMap... 159 4.3 Das Collection-Framework... 161 4.3.1 Grundlagen und Nutzen... 161 4.3.1.1 Die Struktur der Collection-Schnittstellen... 162 4.3.1.2 Struktur von Anwendungen... 164 4.3.2 Anwendung der einzelnen Schnittstellen... 167 4.3.2.1 Die Set-Schnittstelle... 167 4.3.2.2 Die List-Schnittstelle... 170 4.3.3 Die Queue-Schnittstelle... 174 4.3.4 Die Map-Schnittstelle... 174 4.3.4.1 Anordnung von Objekten... 178 4.3.4.2 Die SortedSet-Schnittstelle... 182 4.3.4.3 Die SortedMap-Schnittstelle... 184 4.3.5 Allgemeine Dienste des Collection-Frameworks... 184 4.3.5.1 Implementierungen von Schnittstellen... 184 4.3.5.2 Sammlungen und Threads... 187 4.3.5.3 Unveränderliche Sammlungen... 188 4.3.5.4 Typsichere Sichten auf Sammlungen... 188 4.3.5.5 Anwendungsfreundliche Implementierungen... 188 4.3.5.6 Algorithmen... 189 4.4 Anwendungsfälle... 190

VIII Inhaltsverzeichnis 4.4.1 Zerlegung von Zeichenketten: StringTokenizer... 190 4.4.2 Beispiel: Querverweisliste in Java... 193 4.4.3 Binäre Bäume... 197 5 Ein-/Ausgabe in Java... 201 5.1 Prinzip der Ein-/Ausgabe in Java... 203 5.1.1 Eingabe in Java... 205 5.1.2 Ausgabe in Java... 208 5.2 Anwendungsbeispiele... 211 5.2.1 Byteweise Verarbeitung von Dateien... 211 5.2.2 Blockweise Verarbeitung von Dateien... 213 5.2.3 Daten im Format für das Internet verarbeiten... 214 5.2.4 Auflistung aller Dateien in einem Verzeichnis... 216 5.2.5 Zugriff auf die Einträge in einem ZIP-Archiv... 218 5.3 Die IO-Tools... 218 5.3.1 Entwurf der IO-Tools... 219 5.3.2 Benutzung der IO-Tools... 223 6 Nebenläufigkeit in Java: Threads... 227 6.1 Einstieg in Threads in Java... 227 6.1.1 Programmierung von Threads... 227 6.1.2 Threads in Applets für Animationen... 231 Eine blinkende Fläche... 231 Tanzende Schrift... 233 6.2 Grundlagen zu Threads... 236 6.2.1 Nutzen von Threads... 236 6.2.2 Wettrennen... 237 6.2.3 Zustände von Threads... 242 6.2.4 Wichtige Methoden für Threads... 243 6.3 Monitore in Java... 246 6.3.1 Grundlagen... 246 6.3.2 Anwendung der Monitore in Java... 247 Verhindern von Wettrennen mit Monitoren... 247 Warten auf Ereignisse mit Monitoren... 248 6.4 Framework für Nebenläufigkeit... 249 6.4.1 Erzeuger-Verbraucher-Kopplung... 250 6.4.2 Leser-Schreiber-Problem... 252 6.4.3 Semaphoren... 255 6.5 Deadlocks... 257 6.5.1 Die fünf Philosophen... 257 6.5.2 Maßnahmen gegen Deadlocks... 258 6.5.3 Lösungsvorschlag... 259 6.6 Swing und Threads... 261

Inhaltsverzeichnis IX 7 Graphik-Anwendungen in Java... 269 7.1 Struktur von GUI-Anwendungen... 269 7.1.1 Hierarchie der Fenster: Fenster im Fenster... 270 7.1.2 Prinzip der ereignisgesteuerten Programmierung... 272 7.1.3 Klassenhierarchie von GUI-Bausteinen... 273 7.1.4 Elementare Controls und deren Einbindung... 274 7.1.5 Das Model-View-Controller-Paradigma und Swing... 276 7.1.6 Anordnung der Komponenten... 277 7.2 Ereignissteuerung... 278 7.2.1 Das Delegation Event Model in Java AWT 1.1... 278 7.2.1.1 Beispiel : Window-Ereignisse bearbeiten... 279 7.2.1.2 Typen von Ereignissen... 279 7.2.2 Event Listeners: die Beobachter... 280 7.2.3 Event-Quellen... 280 7.2.4 Listener-Schnittstellen und Adapter... 281 7.3 Layoutmanager... 283 7.3.1 BorderLayout... 283 7.3.2 FlowLayout... 285 7.3.3 GridLayout... 286 7.3.4 CardLayout... 287 7.3.5 GridBagLayout... 288 7.3.6 BoxLayout (nur Swing)... 291 7.3.7 Schachtelung der Layouts... 292 7.4 Steuerelemente in Benutzeroberflächen... 293 7.4.1 Zeichenflächen: Canvas bzw. JComponent... 293 7.4.2 Schalter: Button bzw. JButton... 293 7.4.3 Auswahl... 296 7.4.4 Checkbox und Radiobutton... 298 7.4.5 Statischer Text... 301 7.4.6 Listen zur Auswahl... 302 7.4.7 Textfelder... 305 7.4.7.1 Textfelder unter AWT... 305 7.4.7.2 Textfelder unter Swing... 307 7.4.8 Rollbalken... 309 7.4.9 Menüs in Java... 312 7.5 Kurs: GUI-Anwendungen... 315 7.5.1 Einbau einer Graphik-Komponente... 315 7.5.1.1 Eine elementare Graphik-Komponente... 315 7.5.1.2 Ein Schachbrett... 317 7.5.2 Leichtgewichtige Komponenten... 320 7.5.3 Einbau von Steuerelementen... 322 7.5.4 Ein Malprogramm... 325 7.5.5 Turtle-Graphik... 328 7.5.6 Rollbalken... 334 7.5.7 Dialoge in Java... 336 7.5.8 Datei-Dialoge in Java... 341 7.5.9 Eigene Komponenten entwickeln... 342 7.5.10 Die Türme von Hanoi... 347

X Inhaltsverzeichnis 7.6 Steuerelemente unter Swing... 350 7.6.1 Übersicht: Aufgabenverteilung Swing-Anwender... 350 7.6.2 Details: JList und JComboBox... 351 7.6.3 JTable... 354 7.6.4 JTree... 357 8 Programmierung in Netzwerken... 369 8.1 Programmierung von Sockets... 369 8.1.1 Grundlagen von Netzwerken... 369 8.1.2 Sockets in Java... 371 8.1.2.1 Verbindungsorientierte Kommunikation... 371 8.1.2.2 Verbindungslose Kommunikation... 374 8.1.2.3 Java Klassen für Internet-Adressen und zur Darstellung von URLs 377 8.2 Java-Programme für Internet-Protokolle... 378 8.2.1 Ein Client für http... 378 8.2.2 Ein Client für ftp... 382 8.2.3 Ein Client für smtp... 383 9 Verteilte Anwendungen... 387 9.1 Das Projekt Telefonauskunft... 387 9.2 Implementierung der Telefonauskunft mit Sockets... 390 9.3 RMI... 394 9.3.1 Prinzip von RMI... 395 9.3.2 Praktische Durchführung mit RMI: Telefonauskunft... 397 9.4 CORBA... 401 9.4.1 Prinzip der Entwicklung in CORBA... 401 9.4.2 Praktische Durchführung mit CORBA: Telefonauskunft... 403 10 Servlets und JavaServer Pages... 409 10.1 Servlets... 409 10.2 Zur Installation von Tomcat... 411 10.3 Erstellung von Servlets... 413 10.3.1 Das Package javax.servlet... 415 10.3.2 Das Package javax.servlet.http... 419 10.3.3 Hilfsprogramme für Datenbankzugriff und Tabellen... 423 10.4 Projekte mit Servlets... 423 10.4.1 Projekt: Zugriff auf Parameter einer Anfrage... 424 10.4.2 Projekt: Telefonauskunft mit Servlets... 427 10.4.3 Projekt: Sitzungen... 429 10.4.4 Projekt: Anbindung an eine Datenbank... 435 10.5 JavaServer Pages JSP... 437 10.5.1 Einführung... 437 10.5.2 Direktiven... 440 10.5.3 Aktionen... 443 10.5.4 Implizite Objekte... 446 10.6 Tag-Bibliotheken... 446 10.6.1 Expression Language EL... 447

Inhaltsverzeichnis XI 10.6.2 Die Tag-Bibliotheken... 448 10.6.2.1 Die core Taglib... 448 10.6.2.2 Die fmt Taglib... 451 10.6.2.3 Die sql Taglib... 452 10.6.2.4 Die XML-Bibliothek... 454 10.7 Projekte mit JavaServer Pages... 456 10.7.1 Projekt: Zugriff auf Parameter einer Anfrage... 457 10.7.2 Projekt: Telefonauskunft mit jsp... 458 10.7.3 Projekt: Anbindung von Datenbanken mit jsp... 459 11 Applets... 461 11.1 Besonderheiten von Applets... 461 11.1.1 Wichtige Funktionen für Applets... 462 11.1.2 Methoden im Zusammenhang mit Applets... 464 11.1.3 Sicherheit... 465 11.2 Die APPLET-Anweisung in HTML-Dokumenten... 466 12 Anbindung von Datenbanken mit JDBC... 469 12.1 Prinzip von JDBC... 469 12.2 Grundlagen von JDBC... 470 12.2.1 Grundlegende Abläufe (vereinfacht)... 471 12.2.2 Einstieg in SQL... 472 12.2.3 Klassen und Schnittstellen im Package java.sql... 473 12.3 Beispiel: die Kundendatenbank in JDBC... 480 12.3.1 Programmierung der Verbindung zu den Datenbanken... 481 12.3.2 Vorbereitung: Datenbanken einrichten... 483 12.3.3 Zugriffe mit JDBC... 484 12.3.4 Erweiterte Möglichkeiten mit JDBC... 486 12.4 Datentypen in Java und SQL... 490 12.5 Metadaten... 491 12.5.1 Metadaten und die Auskunft über die Datenbank... 491 12.5.2 Anwendung... 492 12.6 Generieren von Datenbankanbindungen... 494 13 Java-Beans... 499 13.1 Anforderungen an Komponenten... 499 13.2 Beispiel: ein Bean mit Eigenschaften... 501 13.2.1 Beispiel : ein Zähler... 502 13.2.2 Aufbau eines Archivs für das Bean... 502 13.2.3 Das Bean in der BeanBox von Java... 503 13.3 Erweiterte Möglichkeiten... 505 13.3.1 Explizite Beschreibung: BeanInfo-Schnittstelle... 505 13.3.2 Anpassungen für die Werte des Beans... 506 13.3.3 Auslösen von Ereignissen in Beans... 508 13.3.4 Ereignisse im Bean... 509 13.3.5 Beans in einem visuellen Builder... 511 13.4 Die Introspektion für Beans... 512

XII Inhaltsverzeichnis 14 Bearbeiten von XML in Java... 517 14.1 Aufbau von XML-Dokumenten... 517 14.2 DOM und das Package org.w3c.dom... 518 14.3 DOM-Parser... 521 14.4 SAX-Parser... 525 15 Die Werkzeuge aus dem JDK... 529 15.1 Der Compiler javac... 529 15.2 Der Interpreter java... 530 15.3 Applet-Viewer... 530 15.4 Der Generator für die Dokumentation... 530 15.5 Die Testhilfe... 531 15.6 Der Disassembler... 531 Literaturverzeichnis... 532 Eclipse Public License... 533 Index... 536