Überblick

Wir bauen auf den in der ersten Klasse geschaffenen Grundlagen auf. Arrays werden wiederholt und vertieft (Hilfsklassen, Sortieren, mehrdimensionale Arrays).

Der Umstieg auf die IDE Eclipse und die verfügbaren neuen Funktionalitäten wird Schritt für Schritt im Zuge der Verwendung erläutert und gezeigt.

Die vielleicht größte Umstellung ist das Fehlen einer einfachen, interaktiven Erzeugungsmöglichkeit für Objekte und der Möglichkeit, an diesen interaktiv einzelne Methoden aufzurufen.

Damit wird die Verwendung der main(..)-Methode nötig, die als Ausgangspunkt für dem Programmlauf dient und worin üblicherweise ein Applikationsobjekt erzeugt wird, um nicht nur statische, sondern auch Instanzmethoden aufrufen zu können.

Bei dieser Gelegenheit werden wir auch Das Fehlen von Vererbungsfunktionalitäten für statische Methoden und andere Charakteristiken besprechen.

Die Definition eigener Packages und weiteres zu Packages gehört ebenfalls zu den frühen Schritten.

Ein zentrales Element in Java ist die Vererbung. Diese behandeln wir mit Dem Ansatz des Polymorphismus, anschließend Abstrakte Klassen und Interfaces.

Darauf aufbauend anschließend Exceptions – Erzeugen und Reaktion darauf.

Eingestreut werden Verwendung des aktuellen Zeit-Frameworks, Formatieren von Text, Wiederholen und Vertiefen von Methoden wie equals(..), split() und weitere.

Anschließend behandeln wir das Collections-Framework (Listen, Mengen) und Maps (Datensammlungen aus Schlüssel-Wert-Paaren) und die darin verwendeten Generics.

Ab diesem Punkt beginnen wir, unseren Code in JavaFX-Apps einzubetten. Zu Beginn wird der JavaFX-Code bereitgestellt, nach und nach wird er in immer größerem Ausmaß selbst geändert, erweitert und schließlich selbst entwickelt.

Die weiteren wichtigen Themenbereiche:

  • Listen Sortieren, darin Suchen, weitere Operationen.

  • Lesen und Schreiben von Text- und Binärdateien, Arbeiten im Dateisystem (Auflisten, Verzeichnisse, Dateien erzeugen, umbenennen, löschen, kopieren)

  • Datenstrukturen wie Stack, Queue und Verkettete Listen

  • Auswerten von Kommandozeilen-Übergabeparametern, Nutzen von System-Properties und Properties-Dateien, Aufruf von Java-Programmen von der Kommandozeile

  • Lesen und Schreiben von JSON-Dateien, Nutzen externer Bibliotheken

  • Java-Beans, PropertyChange-Events

  • JavaFX-App-Grundstruktur

  • MVC-Applikationsarchitektur und Variationen dazu

  • JavaFX-Controls

  • JavaFX-Container

  • JavaFX-Events

  • JavaFX-Alert, Dialog, FileChooser

  • JavaFX-Properties

  • JavaFX-Styling

  • JavaFX-FXML + SceneBuilder

  • JavaFX-Multimedia

  • JavaFX-WebView

  • JavaFX-Animation

Hier eine Auflistung (ohne Anspruch auf Vollständigkeit):

  1. Eclipse Installation samt aktuellem JDK und lokaler API-Dokumentation

  2. Eclipse Konfiguration und Nutzung: Minimalistische Info zum fast "omnipräsenten" Filter-Feld, Workspace, View, Perspektiven, Working Sets, Preferences, Package- und Explorer

  3. Minimales zu eigenen Packages, Main-Methode, darin Zugriff auf Instanz-Methoden per App-Objekt-Erzeugung

  4. Basics Vererbung (ohne abstrakte Klassen, Interfaces)

  5. Ergänzung String.format() etc.

  6. Basics Exceptions (checked, unchecked) werfen, simples Behandeln

  7. Weiteres zu Packages (Benennung, Import, etc.),

  8. Statische Methoden (kein Zugriff auf Instanz-Methoden, Ansprechen von außen, Nicht in Vererbungskonzept) und Main-Methode (in jeder Klasse möglich, daher bei App-Start Angabe Start-Klasse nötig, etc.; CLI-Parameter, etc.)

  9. Eclipse-Run Configurations

  10. Abstrakte Klassen und Interfaces

  11. Weiteres zu Exceptions: angereichert weiterreichen (rethrowing), finalize

  12. Basics Logging (java.util.logging)

  13. Wiederholung + Ergänzung Arrays (mehrdim, Interfaces als Typ, etc.)

  14. Kurzinfo wichtigste Annotations (@Override)

  15. Einstieg Collections Framework: List (ArrayList), Generics (minimalistisch, soweit hier benötigt)

  16. Eclipse Debugger

JDK 21 Documentation - Home …​ 2023-03-05

Overview (JavaFX 21) …​ 2024-04-21

New API List (JavaFX 21) …​ 2024-04-21