Zum Hauptinhalt springen

Grafische Benutzeroberflächen

Eine grafische Benutzeroberfläche (GUI, Graphical User Interface) macht Programme durch grafische Bildschirmelemente bedienbar. Controls wie Eingabefelder, Schaltflächen und Beschriftungen ermöglichen die Interaktion. Container ordnen und verwalten andere Bildschirmelemente. Dialoge wie Meldungsfenster und Dateiauswahl-Dialoge decken wiederkehrende Anwendungsfälle ab.

Aufbau grafischer Benutzeroberflächen

Da grafische Benutzeroberflächen komplex sind, werden sie nach dem Prinzip der Separation of Concerns in Bereiche wie Aufbau, Aussehen und Verhalten aufgeteilt. Ein bekanntes Beispiel ist eine klassische Webseite: HTML definiert den Aufbau, CSS das Aussehen und JavaScript das Verhalten.

Das Entwurfsmuster MVC (Model-View-Controller) ist ein gängiger Ansatz für GUI-Entwicklung und teilt die Oberfläche in drei Bereiche auf:

  • Das Model ist für die Datenhaltung und -verwaltung zuständig
  • Die View ist für die Darstellung der Oberfläche zuständig, welche wiederum in Aufbau und Aussehen unterteilt ist
  • Der Controller übernimmt die Ereignisbehandlung und ermöglicht so die Benutzerinteraktion
info

Der Begriff MVC wird oft auch als Synonym für MVC-ähnliche Varianten wie z.B. MVP (Model-View-Presenter) oder MVVM (Model-View-ViewModel) verwendet.

Ereignisse (Events)

Ereignisse (Events) sind Nachrichten, die durch Benutzerinteraktionen ausgelöst werden — z.B. durch das Klicken einer Schaltfläche, eine Tastatureingabe oder das Vergrößern eines Fensters. Das Delegationsmodell legt fest, wie Ereignisse behandelt werden:

  1. Empfänger können sich beim Sender für ein Ereignis registrieren
  2. Der Sender löst das Ereignis aus und übergibt das erzeugte Ereignis-Objekt an alle registrierten Empfänger
  3. Die Empfänger nehmen das Ereignis-Objekt entgegen und haben dadurch die Möglichkeit, auf das Ereignis zu reagieren
info

Die Empfänger werden je nach Bibliothek bzw. Framework als Handler oder Listener bezeichnet.