Webmail Helpdesk
Vorlesung: Grafische Benutzeroberflächen - Details
Sie sind nicht in Stud.IP angemeldet.

Allgemeine Informationen

Veranstaltungsname Vorlesung: Grafische Benutzeroberflächen
Semester WS 2019/20
Aktuelle Anzahl der Teilnehmenden 148
Fachbereich/Fachrichtung Informatik
Veranstaltungstyp Vorlesung in der Kategorie Lehre
Erster Termin Montag, 30.09.2019 09:45 - 11:15, Ort: HS2

Themen

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)

Räume und Zeiten

X 15
Montag: 09:45 - 11:15, wöchentlich (10x)
HS2
Montag: 09:45 - 11:15, wöchentlich (2x)

Anmelderegeln

Diese Veranstaltung gehört zum Anmeldeset "Anmeldung gesperrt (global)".
Folgende Regeln gelten für die Anmeldung:
  • Die Anmeldung ist gesperrt.