Lernstoff 2CHIF für PLF-3 am Di,2024-04-03
noch nicht formatiert - Original siehe Moodle!
-
JavaFx
-
Stage: Änderung von Icon, Titel und Größe
-
Panes: BorderPane,GridPane, VBox, HBox, FlowPane, TitledPane, Accordion
-
Richtige Verwendung
-
Einfügen von Abständen (Padding, Spacing, Gaps)
-
Zugriff auf die Elemente mit
getChildren()
(ausser GridPane und BorderPane) -
Löschen von Elementen
getChildren().remove(…)
… auch bei GridPane!
-
-
Subklassen von
Shape
:Circle
,Rectangle
,Polygon
inPane
-
GUI Componenten :
TextField
,TextArea
,Label
,Button
,RadioButton
s (gekoppelt mitToggleGroup
),CheckBox
(mitImage
),MenuBar
(mitMenu
- undMenuItem
- Elementen) -
ImageView
– inkl. Größenänderung, Fileangabe (absolut/relativ) -
FileChooser
bzw.DirectoryChooser
(inkl. Verwendung der KlasseFile
und deren Methoden, Realisierung modal),ColorPicker
-
Backgroundfarbe ändern, (Font ändern),
Fill
ändern,Border
-
EventHandler zum Reagieren auf Ereignisse:
ActionEvent
,WindowEvent
,MouseEvent
,KeyEvent
, ….MenuBar
(mit Elementen und EventHandler) -
EventFilter
zum Abfangen/Konsumieren von Events -
WICHTIG: Aufteilung model, view und control !
-
Dialoge:
Alert
,ChoiceDialog
,TextInputdialog
-
Auswertung (Welcher Button wurde gedrückt)
-
Returnwert (
Optional
) weiterverwenden
-
-
-
… und für das Model
-
CharacterStreams/ByteStreams:
-
Daten lesen und speichern mit Hilfe von Serialisierung
-
-
File
: anwenden von existierenden Methoden (delete()
,exists()
,length()
,…) -
Exception Handling bei falscher Benutzereingabe
-
Vererbung
-
abgeleitete Klassen
-
Verwenden des
super
Keywords im Konstruktor und in Methoden -
Verwenden aller Zugriffsmodifizierer – auch
protected
und/oder default (gar kein Modifizierer) -
Verwendung abstrakter Klassen und Interfaces v.
Collections.sort(…)
Comparable
,Comparator
-
Überschreiben von Methoden (Polymorphie)
-
Überschreiben der
equals(..)
Methode zur Verwendung der ArrayList Methodenremove(Object o)
undcontains(Object o)
.
-
-
-
… und für den Controller
-
Das Zusammenspiel von MVC muss funktionieren
-
z.B. Spielstand muss (in Attributen) gemerkt werden
-
Es muss festgestellt werden, von welcher Komponente das Event ausgelöst wurde (
instanceof
,UserData
) -
Mögliche fehlerhafte Benutzereingaben müssen abgefangen und im GUI angezeigt werden (z.B. durch Dialoge oder Error-Labels)
-
Es darf nur eine Instanz von Model, View (inkl. primaryStage), Controller – Instanzen erzeugt werden, diese werden als Parameter im Konstruktor „weitergegeben“
-