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,PolygoninPane -
GUI Componenten :
TextField,TextArea,Label,Button,RadioButtons (gekoppelt mitToggleGroup),CheckBox(mitImage),MenuBar(mitMenu- undMenuItem- Elementen) -
ImageView– inkl. Größenänderung, Fileangabe (absolut/relativ) -
FileChooserbzw.DirectoryChooser(inkl. Verwendung der KlasseFileund 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) -
EventFilterzum 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
superKeywords im Konstruktor und in Methoden -
Verwenden aller Zugriffsmodifizierer – auch
protectedund/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“
-