Inhalt | 7 |
Vorwort | 13 |
1 Bevor es losgeht | 15 |
1.1 Was ist Java? –Teil I | 15 |
1.2 Was ist ein Programm? | 17 |
1.3 Wie werden Programme erstellt? | 19 |
1.4 Von Compilern und Interpretern | 19 |
1.5 Was ist Java? – Teil II | 20 |
1.6 Vorbereitung zum Programmieren | 23 |
2 Der erste Kontakt | 29 |
2.1 Die erste Java-Anwendung | 29 |
2.2 Zusammenfassung | 36 |
2.3 Fragen und Antworten | 36 |
2.4 Übungen | 36 |
3 Von Daten, Operatoren und Objekten | 37 |
3.1 Variablen und Anweisungen | 37 |
3.2 Operatoren | 45 |
3.3 Typumwandlung | 48 |
3.4 Objekte und Klassen | 51 |
3.5 Arrays | 62 |
3.6 Vordefinierte Klassen und Pakete | 64 |
3.7 Zusammenfassung | 65 |
3.8 Fragen und Antworten | 66 |
3.9 Übungen | 67 |
4 Programmfluss und Fehlererkennung mit Exceptions | 69 |
4.1 Die Axiomatik des Programmablaufs | 69 |
4.2 Modularisierung durch Klassen und Methoden | 70 |
4.3 Kontrollstrukturen | 80 |
4.4 Fehlerbehandlung durch Exceptions | 91 |
4.5 Zusammenfassung | 95 |
4.6 Fragen und Antworten | 96 |
4.7 Übungen | 97 |
5 Objektorientierte Programmierung mit Java | 99 |
5.1 Vererbung | 99 |
5.2 Methoden (Klassenfunktionen) | 107 |
5.3 Variablen- und Methodensichtbarkeit | 112 |
5.4 Innere Klassen | 120 |
5.5 Mehrfachvererbung und Schnittstellen | 121 |
5.6 Zusammenfassung | 125 |
5.7 Fragen und Antworten | 125 |
5.8 Übungen | 127 |
6 Ein- und Ausgabe | 129 |
6.1 Streams | 129 |
6.2 Ausgaben auf den Bildschirm | 130 |
6.3 Ausgabe in Dateien | 135 |
6.4 Eingaben von Tastatur | 138 |
6.5 Aus Dateien lesen | 141 |
6.6 Ein wichtiger Punkt: korrekte Exception-Behandlung | 143 |
6.7 Rund um Strings | 145 |
6.8 Zusammenfassung | 152 |
6.9 Fragen und Antworten | 152 |
6.10 Übungen | 153 |
7 Collections und weitere nützliche Klassen | 155 |
7.1 Zufallszahlen erzeugen | 155 |
7.2 Zeit- und Datumsangaben | 157 |
7.3 Zeichenfolgen zerlegen | 160 |
7.4 Komplexe Datenstrukturen (Collections) | 161 |
7.5 Algorithmen | 171 |
7.6 Zusammenfassung | 173 |
7.7 Fragen und Antworten | 173 |
7.8 Übungen | 174 |
8 Grundlagen der GUI-Programmierung | 175 |
8.1 Der GUI-Reiseführer | 176 |
8.2 Aufbau einer GUI-Anwendung | 177 |
8.3 Das Ereignis-Modell des AWT | 182 |
8.3.1 java.awt.event importieren | 185 |
8.3.2 Ereignislauscher definieren | 185 |
8.3.3 Lauscher für Quelle registrieren | 186 |
8.3.4 Adapter | 187 |
8.3.5 Einige abschließende Anmerkungen | 189 |
8.4 Chamäleon sein mit UIManager und Look&Feel | 191 |
8.5 Ein umfangreicheres Beispiel | 192 |
8.6 Zusammenfassung | 193 |
8.7 Fragen und Antworten | 194 |
8.8 Übungen | 195 |
9 Grafik, Grafik, Grafik | 197 |
9.1 Das Arbeitsmaterial des Künstlers | 197 |
9.2 Erweitertes Layout mit Panel-Containern | 206 |
9.3 Kreise, Rechtecke und Scheiben | 208 |
9.4 Freihandlinien | 212 |
9.5 Noch mehr Grafik mit Java2D | 215 |
9.6 Zusammenfassung | 219 |
9.7 Fragen und Antworten | 220 |
9.8 Übungen | 221 |
10 Bilder, Bilder, Bilder | 223 |
10.1 Der Bildbetrachter | 223 |
10.2 Dateien öffnen und speichern: die Klasse JFileChooser | 228 |
10.3 Laden und Anzeigen von Bildern | 230 |
10.4 Zusammenfassung | 233 |
10.5 Fragen und Antworten | 234 |
10.6 Übungen | 234 |
11 Text, Text, Text | 235 |
11.1 Ein Texteditor | 235 |
11.2 Umgang mit Text: JTextField, JTextArea und JTextPane | 236 |
11.3 Kombinationsfelder | 242 |
11.4 Eigene Dialoge | 245 |
11.5 Nach Textstellen suchen | 249 |
11.6 Unterstützung der Zwischenablage | 251 |
11.7 Drucken | 253 |
11.8 Zusammenfassung | 255 |
11.9 Fragen und Antworten | 255 |
11.10 Übungen | 256 |
12 Menüs und andere Oberflächenelemente | 257 |
12.1 Die Komponentenhierarchie | 257 |
12.2 Die Basisklasse Component | 258 |
12.3 Statische Textfelder (JLabel) | 260 |
12.4 Schaltflächen (JButton) | 262 |
12.5 Eingabefelder (JTextField und JTextArea) | 263 |
12.6 Optionen (JCheckBox, JRadioButton) | 266 |
12.7 Listen- und Kombinationsfelder (JList und JComboBox) | 268 |
12.8 Bildlaufleisten (JScrollBar) | 270 |
12.9 Menüleisten (JMenubar) | 272 |
12.10 Zusammenfassung | 274 |
12.11 Fragen und Antworten | 275 |
12.12 Übungen | 275 |
13 Threads und Animation | 279 |
13.1 Multithreading mit Java | 279 |
13.2 Eigene Threads erzeugen: die Klasse Thread | 282 |
13.3 Eigene Threads erzeugen: die Runnable-Schnittstelle | 285 |
13.4 Wissenswertes rund um Threads | 287 |
13.5 Threads und Animation I | 289 |
13.6 Threads und Animation II | 293 |
13.6.1 SwingWorker | 294 |
13.7 Zusammenfassung | 298 |
13.8 Fragen und Antworten | 299 |
13.9 Übungen | 299 |
14 Sound | 301 |
14.1 Was ist eine URL? | 301 |
14.2 Sounddateien abspielen | 302 |
14.3 Wiedergabe von MP3 | 303 |
14.4 Tonerzeugung mit MIDI | 304 |
14.4.1 Abspielen einer MIDI-Datei | 304 |
14.4.2 Selber Musik machen | 305 |
14.5 Zusammenfassung | 306 |
14.6 Fragen und Antworten | 307 |
14.7 Übungen | 307 |
15 Die Datenbankschnittstelle JDBC | 309 |
15.1 Datenbanken-ABC | 309 |
15.2 Die JDBC-Schnittstelle | 311 |
15.3 Vorbereitung für JavaDB | 312 |
15.4 Zugriff auf eine Datenbank | 312 |
15.4.1 Verbindungsaufbau | 313 |
15.4.2 Lese- und Schreiboperationen durchführen | 313 |
15.4.3 Verbindung schließen | 315 |
15.5 Zusammenfassung | 318 |
15.6 Fragen und Antworten | 319 |
15.7 Übungen | 319 |
16 Was wir noch erwähnen wollten | 321 |
16.1 Aufzählungen (enum) | 321 |
16.1.1 Definition | 322 |
16.1.2 Variablen definieren | 322 |
16.1.3 Aufzählungskonstanten vergleichen | 322 |
16.1.4 Aufzählungen und switch | 323 |
16.1.5 Aufzählungen und for | 323 |
16.2 Lambda-Ausdrücke | 324 |
16.3 Java Generics | 325 |
16.3.1 Einleitung | 325 |
16.3.2 Syntax | 326 |
16.3.3 Eingeschränkte Platzhalter | 328 |
16.3.4 Parameter und Variablen von generischen Typen | 328 |
16.4 Jar-Archive | 329 |
16.5 Module | 330 |
16.6 Die Zukunft wird zeigen, wie sich die Java-Modularisierung weiterentwickeln wird. Bleiben Sie gespannt! Debuggen | 332 |
16.6.1 Grundsätzliches Vorgehen | 333 |
16.7 Anwendungen weitergeben | 334 |
16.7.1 Ohne JRE geht es nicht | 334 |
16.7.2 Java-Anwendungen ausführen: von .class bis .exe | 336 |
Anhang A: Lösungen | 339 |
Anhang B: Installation des JDK | 355 |
B.1 Installation | 356 |
B.2 Anpassen des Systems | 358 |
B.2.1 Erweiterung des Systempfads | 358 |
B.2.2 Installation testen | 360 |
B.2.3 Setzen des Klassenpfads | 361 |
B.3 Die Java-Dokumentation | 362 |
B.4 Wo Sie weitere Hilfe finden | 363 |
Anhang C: Schlüsselwörter | 365 |
Anhang D: Java-Klassenübersicht | 367 |
D.1 java.io | 367 |
D.2 java.lang | 368 |
D.3 java.applet | 368 |
D.4 java.awt | 369 |
D.5 java.awt.event | 370 |
D.6 java.awt.geom | 371 |
D.7 java.net | 371 |
D.8 java.sql | 372 |
D.9 javax.sound.midi | 372 |
D.10 javax.swing | 373 |
D.11 java.util | 374 |
Anhang E: Literatur und Adressen | 375 |
E.1 Bücher | 375 |
E.2 Zeitschriften | 376 |
E.3 Ressourcen im Internet | 377 |
Anhang F: Das Material zum Buch | 379 |
Index | 381 |
Leere Seite | 2 |