Lernstoff 2CHIF für PLF-3 am Di,2024-04-03

noch nicht formatiert - Original siehe Moodle!
  1. JavaFx

    1. Stage: Änderung von Icon, Titel und Größe

    2. Panes: BorderPane,GridPane, VBox, HBox, FlowPane, TitledPane, Accordion

      1. Richtige Verwendung

      2. Einfügen von Abständen (Padding, Spacing, Gaps)

      3. Zugriff auf die Elemente mit getChildren() (ausser GridPane und BorderPane)

      4. Löschen von Elementen getChildren().remove(…) … auch bei GridPane!

    3. Subklassen von Shape: Circle, Rectangle, Polygon in Pane

    4. GUI Componenten : TextField, TextArea, Label, Button, RadioButtons (gekoppelt mit ToggleGroup), CheckBox (mit Image), MenuBar (mit Menu - und MenuItem- Elementen)

    5. ImageView – inkl. Größenänderung, Fileangabe (absolut/relativ)

    6. FileChooser bzw. DirectoryChooser (inkl. Verwendung der Klasse File und deren Methoden, Realisierung modal), ColorPicker

    7. Backgroundfarbe ändern, (Font ändern), Fill ändern, Border

    8. EventHandler zum Reagieren auf Ereignisse: ActionEvent, WindowEvent, MouseEvent, KeyEvent, …. MenuBar (mit Elementen und EventHandler)

    9. EventFilter zum Abfangen/Konsumieren von Events

    10. WICHTIG: Aufteilung model, view und control !

    11. Dialoge: Alert, ChoiceDialog, TextInputdialog

      1. Auswertung (Welcher Button wurde gedrückt)

      2. Returnwert (Optional) weiterverwenden

  2. … und für das Model

    1. CharacterStreams/ByteStreams:

      1. Daten lesen und speichern mit Hilfe von Serialisierung

    2. File: anwenden von existierenden Methoden (delete(), exists(), length(),…)

    3. Exception Handling bei falscher Benutzereingabe

    4. Vererbung

      1. abgeleitete Klassen

      2. Verwenden des super Keywords im Konstruktor und in Methoden

      3. Verwenden aller Zugriffsmodifizierer – auch protected und/oder default (gar kein Modifizierer)

      4. Verwendung abstrakter Klassen und Interfaces v. Collections.sort(…​)
        Comparable, Comparator

      5. Überschreiben von Methoden (Polymorphie)

      6. Überschreiben der equals(..) Methode zur Verwendung der ArrayList Methoden remove(Object o) und contains(Object o).

  3. … und für den Controller

    1. Das Zusammenspiel von MVC muss funktionieren

    2. z.B. Spielstand muss (in Attributen) gemerkt werden

    3. Es muss festgestellt werden, von welcher Komponente das Event ausgelöst wurde (instanceof, UserData)

    4. Mögliche fehlerhafte Benutzereingaben müssen abgefangen und im GUI angezeigt werden (z.B. durch Dialoge oder Error-Labels)

    5. Es darf nur eine Instanz von Model, View (inkl. primaryStage), Controller – Instanzen erzeugt werden, diese werden als Parameter im Konstruktor „weitergegeben“