GUI-Grundelemente und Container

4 min 2 Abschnitte
Was du nach diesem Konzept kannst 4
  1. Du bist in der Lage, die Funktion von Containern in der Benutzeroberfläche zu erklären ,

    indem ihre Rolle bei der logischen Gruppierung von Elementen, der Verwaltung von Layouts und der Herstellung einer hierarchischen Eltern-Kind-Struktur (Component Tree) dargestellt wird.

  2. Du bist in der Lage, die grundlegenden GUI-Elemente anhand ihrer Funktion zu klassifizieren ,

    indem zwischen Interaktionselementen (Controls wie Buttons, Textfelder) zur Dateneingabe und Steuerung sowie Informationselementen (Views wie Labels, Progress Bars) zur Datenausgabe unterschieden wird.

  3. Du bist in der Lage, geeignete GUI-Elemente für spezifische Datentypen zuzuordnen ,

    indem für primitive Datentypen (Boolean, String, Integer) die passenden Steuerelemente (z.B. Checkbox/Toggle für Boolean, Textfeld für String, Slider/Spinbox für Integer) unter Berücksichtigung der Usability ausgewählt werden.

  4. Du bist in der Lage, den Zustand von GUI-Elementen zu interpretieren ,

    indem analysiert wird, wie Eigenschaften wie 'enabled/disabled', 'visible/hidden' oder 'focused' die Interaktionsmöglichkeiten der Nutzenden steuern und visuelles Feedback zum Systemstatus geben.

Aus welchen Bausteinen besteht eine grafische Benutzeroberfläche?

Interaktion und Information: Controls vs. Views

Stell dir vor, du nutzt eine App zur Zeiterfassung. Du siehst deinen aktuellen Überstundensaldo und klickst auf eine Schaltfläche, um eine neue Arbeitszeit zu starten. Hierbei interagierst du mit den zwei grundlegenden Kategorien von GUI-Elementen:

  • Interaktionselemente (Controls / Widgets): Diese Bausteine fordern dich zu einer Handlung auf und dienen der Dateneingabe oder Steuerung. Typische Beispiele sind Buttons (Schaltflächen zum Auslösen von Aktionen), Textfelder (für Tastatureingaben) oder Auswahlelemente wie Checkboxen und Dropdown-Menüs.
  • Informationselemente (Views): Diese Elemente dienen der reinen Datenausgabe. Sie visualisieren Informationen oder den Systemstatus, ohne dass du sie anklicken oder verändern kannst. Beispiele sind Labels (statische Textbeschriftungen) oder Progress Bars (Fortschrittsbalken, die Ladevorgänge anzeigen).

Das passende GUI-Element für jeden Datentyp

Für eine gute User Experience (UX) musst du bei der Entwicklung entscheiden, welches GUI-Element einen bestimmten Datentyp am intuitivsten repräsentiert:

  • Boolean (Wahr/Falsch): Für unabhängige Ja/Nein-Entscheidungen (z. B. "AGB akzeptieren") nutzt du eine Checkbox. Sollen Einstellungen sofort systemweit aktiv werden (z. B. "WLAN an/aus"), ist ein Toggle Switch (Schalter) die beste Wahl.
  • String (Zeichenkette): Für kurze Texteingaben wie einen Vornamen wählst du ein einzeiliges Textfeld (Input Field). Für lange Texte wie eine Fehlerbeschreibung nutzt du eine mehrzeilige Text Area.
  • Integer / Float (Zahlenwerte): Kommt es nur auf eine grobe Tendenz an (z. B. Bildschirmhelligkeit), ist ein Slider (Schieberegler) ideal. Muss ein exakter numerischer Wert eingegeben werden (z. B. Anzahl der Kopien), verwendest du eine Spinbox (Stepper) mit Plus- und Minus-Tasten.

Visuelles Feedback durch den Element-Zustand (State)

GUI-Elemente kommunizieren durch ihren aktuellen Zustand (State), welche Interaktionen für die Nutzenden gerade möglich sind. Dieses visuelle Feedback verhindert Usability-Probleme:

  • Enabled vs. Disabled (Aktiviert / Deaktiviert): Ein Element ist enabled, wenn es normal bedienbar ist. Ist es disabled, wird es meist ausgegraut dargestellt und sperrt jede Interaktion. Ein "Kaufen"-Button bleibt beispielsweise so lange disabled, bis alle Pflichtfelder korrekt ausgefüllt wurden.
  • Visible vs. Hidden (Sichtbar / Versteckt): Um die Benutzeroberfläche nicht zu überladen, werden Elemente dynamisch ein- oder ausgeblendet. Das Eingabefeld für eine Kreditkartennummer bleibt hidden und wird erst visible, wenn die entsprechende Zahlungsart ausgewählt wird.
  • Focused (Fokussiert): Der Fokus zeigt an, welches Element aktuell Tastatureingaben empfängt. Visuell erkennst du das an einem farbigen Rahmen (Highlight) oder einem blinkenden Cursor. Drückst du die Tab-Taste, springt der Fokus zum nächsten Control-Element.
GUI-Grundelemente und Container — dec-software-engineering-application-development-basics-basic-gui-elements-and-containers_page1.svg

Wie werden GUI-Elemente sinnvoll strukturiert?

Container: Ordnung und Layout-Management

Würdest du alle Buttons, Textfelder und Labels unstrukturiert auf einem Bildschirm platzieren, entstünde ein unbedienbares Chaos. Um dies zu verhindern, nutzt du Container. Ein Container ist ein spezielles GUI-Element, das selbst keine Daten anzeigt, sondern ausschließlich dazu dient, andere Elemente aufzunehmen.

Container erfüllen zwei zentrale Aufgaben:

  1. Logische Gruppierung: Sie fassen inhaltlich zusammengehörige Elemente zu einer Einheit zusammen. Ein "Login-Container" bündelt beispielsweise das Label "Benutzername", das Textfeld, das Passwortfeld und den Login-Button.
  2. Layout-Management: Container bestimmen automatisch, wie die in ihnen liegenden Elemente angeordnet werden. Ein vertikaler Container ordnet alle Elemente strikt untereinander an, ein horizontaler Container reiht sie nebeneinander auf.

Der Component Tree: Die Hierarchie der Oberfläche

Ähnlich wie bei der Verschachtelung von Block- und Inline-Elementen in HTML entsteht auch bei grafischen Benutzeroberflächen eine strikte hierarchische Struktur: der Component Tree (Komponentenbaum).

  • Eltern-Kind-Beziehung (Parent-Child): Ein Container fungiert als Elternelement (Parent). Alle GUI-Elemente oder weiteren Container, die direkt in ihm liegen, sind seine Kindelemente (Children).
  • Die Wurzel (Root): Das Hauptfenster deiner Anwendung bildet den obersten Container, die sogenannte Root.
  • Vererbung von Zuständen: Diese Baumstruktur macht die Programmierung extrem effizient, da sich Eigenschaften des Parents auf die Children vererben. Setzt du den gesamten Login-Container per Code auf den Zustand hidden, verschwinden automatisch auch alle darin enthaltenen Textfelder und Buttons. Verschiebst du den Container, bewegen sich alle Kindelemente synchron mit.
GUI-Grundelemente und Container — dec-software-engineering-application-development-basics-basic-gui-elements-and-containers_page2.svg

Teste dein Wissen

Du entwickelst ein Dashboard für die Serverüberwachung. Welches GUI-Element nutzt du ausschließlich zur Datenausgabe der aktuellen CPU-Auslastung?

Bereit für mehr?

Thema verstanden?

Teste dein Wissen interaktiv in unserer App. 7 Tage kostenlos, dann nur 5 € im Monat.