Hochschule Trier
Lecture: Grafische Benutzeroberflächen - Details
Sie sind nicht in Stud.IP angemeldet.

General information

Semester WS 2019/20
Current number of participants 149
Home institute Informatik
Courses type Lecture in category Teaching
First date Mon , 30.09.2019 09:45 - 11:15, Room: HS2

Topics

Einführung; Vorgehen bei der Umstellung von Java 8 auf Java 11; Unterschiede zwischen Klasse und Objekt, Neuerungen nach Java 8 (Modulsystem Jigsaw, var, ...); Lambda-Ausdrücke, Unterschied: nur Java-Code, Java-Code + FXML, Java-Code + FXML + Controller (auch Java-Code, Bedeutung des Controllers), Prinzip der Properties und des Observer-Musters (bzw. Listener-Musters): Implementierung einer eigenen, einfachen Property-Klasse, Kommandozeilenargumente: prinzipiell in Java und Weitergabe an JavaFX-Anwendungen (raw, unnamed, named), Generics: Beispiel für eine eigene Generics-Klasse, Typkompatibilität in Java im Allgemeinen und für Generics-Typen, Wildcards, Erläuterungen zu Pizza-Aufgabe von Übungsblatt 5: Klassen ParameterConverter (gegeben) und Configuration, Named Parameters, Kommandozeilenargumente zum Starten der Pizza-Anwendung, kurze Erläuterungen zu ReadOnlyProperties, Java-FX-Anwendung: Beschränkung der Eingabe auf Buchstaben in einem TextField, dazu Nutzung der TextProperty, Wildcards mit extends und super, Beispiel zu Container Pagination, insbesondere Implementierung einer PageFactory, Generische Methoden, Erweiterung des Pagination-Beispiels: manche Seiten werden über FXML definiert, FXML-Datei wird erst dann geladen, wenn auf die entsprechende Seite gewechselt wird, Nachahmung der Methode FXMLLoader.load: Rückgabe von Objekten unterschiedlichen Typs, Zuweisung an Variable passenden Typs ohne Casting, Realisierung durch generische Methode mit Rückgabetyp als Typparameter, weitere Container-Beispiele: TabPane mit Tabs, Accordion mit TitledPanes, SplitPane (mit Angabe von Min-/Max-Width bzw. -Height), Beispiel für Binding von Label und Slider, Beispiel für CheckBox und RadioButton, Beispiel für HTMLEditor, Besprechung des nicht behandelten Kapitels 7 der Vorlesungsunterlagen: Ereignisbehandlung in JavaFX im Allgemeinen (Capturing Phase und Bubbling Phase), Controller-Klasse == oder != Application-Klasse, Einfaches MVP-Beispiel: Zähler zum Hochzählen, Herunterzählen und Zurücksetzen, Prinzip einer TableView: besteht aus Daten (für jedes Datenelment eine Zeile) und Spalten; jede Spalte besteht aus einer Überschrift und einer Vorschrift, wie man zu einem Datenelement einen dazugehörigen ObservableValue erhält, Beispiel 1 zu TableView: Ländertabelle mit Spalten für Name, Hauptstadt, Einwohnerzahl, Fläche und Bevölkerungsdichte, Beispiel 2 zu TableView: Tabelle mit Zahlen, die über das Programm oder interaktiv durch Eintippen verändert werden können, davon abhängige Werte wie das Produkt ändern sich damit automatisch mit, Wiederholung der der MVP-Kontaktlistenanwendung, insbesondere Zusammenspiel der Presenter, Variationen der MVP-Kontaktlistenanwendung: Variation 1: neue Stage für jedes Anklicken eines Kontakts, Variation 2: modale Stage, Hinweis auf Besonderheit von showAndWait, Was passiert, wenn Stage geschlossen (unsichtbar) wird? Wird dafür belegter Speicher freigegeben? Beispielprogramm mit Erzeugung sehr vieler Fenster und Darstellung des Speicherbedarfs, Das Wunder von showAndWait: Nachprogrammierung von showAndWait für die Kommandozeile ohne GBO, Nicht-rechteckiges Fenster: Programmierung, Verschieben und Erzeugung eines Labels (ohne Anzeige), Weihnachtsvorlesung: Wir basteln Adventssterne (in JavaFX), Besprechung der Klausur vom SS 2017 (Grafikeditor)

Course location / Course dates

X 15 Monday: 09:45 - 11:15, weekly (from 30/09/19) (10x)
HS2 Monday: 09:45 - 11:15, weekly (from 30/09/19) (2x)

Fields of study

Admission settings

The course is part of admission "Anmeldung gesperrt (global)".
The following admission rules apply:
  • Admission locked.