Remove ads
Benutzeroberfläche Aus Wikipedia, der freien Enzyklopädie
Ein Dialog, Dialogfeld, Dialogfenster oder Dialogbox ist ein Element der grafischen Benutzeroberfläche.
Dialoge werden eingeblendet, um Eingaben vom Benutzer einzuholen, beispielsweise:
In der Regel sind Dialogfenster formularartig aufgebaut. Dazu werden Steuerelemente wie Textfelder und Kontrollkästchen verwendet. Meistens am unteren Rand enthalten sie Schaltflächen wie OK oder Abbrechen, mit denen der Benutzer seine Eingaben bestätigen oder verwerfen und den Dialog schließen kann. Einfache Dialogfenster, sogenannte Meldungen, enthalten lediglich einen Frage- oder Hinweistext und eine oder mehrere Schaltflächen, etwa Ja und Nein zum Beantworten einer Frage.
Enthält ein Dialogfenster mehrere solcher Eingabeelemente wie Textfelder oder Schaltflächen, ist nur immer eines von ihnen zu einem bestimmten Zeitpunkt aktiv. Durch Anklicken mit der Maus kann man ein anderes Feld aktivieren. Für Benutzeroberflächen, die sich ohne Maus, d. h. nur mit der Tastatur bedienen lassen (wie etwa Windows) gilt: Wenn man auf der Tastatur die Tabulatortaste drückt, wird nach einer programmierten Reihenfolge das nächste Eingabeelement innerhalb des Fensters aktiviert.[1] Zusammen mit der Umschalttaste (Shift) kann man diese Reihenfolge rückwärts durchlaufen. Drückt man dagegen den Zeilenschalter (Return) oder die Eingabetaste (Enter), wird die gerade aktive Schaltfläche als betätigt oder eine Texteingabe als abgeschlossen erkannt und das Dialogfenster geschlossen.
Modale Dialoge sperren den Rest der Anwendung (oder sogar der Benutzeroberfläche), solange der Dialog angezeigt wird.
Nichtmodale Dialoge erlauben auch Eingaben in der Applikation außerhalb des Dialogs.
Dialoge werden vom Programmierer heute meist mit grafischen Editoren (GUI-Designer) erzeugt, wie sie beispielsweise in Microsoft Visual Studio, Apple Xcode oder NetBeans integriert sind. In der Regel werden vom jeweiligen GUI-Toolkit Standard-Dialoge angeboten, die durch einen einfachen Funktionsaufruf verwendet werden können. Dies hat für den Benutzer den Vorteil, dass er auch in unterschiedlichen Anwendungen vertraute Dialogfenster vorfindet, beispielsweise:
Das folgende Beispiel in der Programmiersprache C# zeigt die Implementierung eines Hauptfensters mit drei Buttons. Das Klick-Ereignis der Buttons jeweils mit einer Ereignisbehandlungsroutine verknüpft, die einen Dialog öffnet (siehe Ereignis).[2][3][4]
using System.Windows.Forms;
public class MainForm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button newButton;
private System.Windows.Forms.Button openButton;
private System.Windows.Forms.Button saveButton;
// Konstruktor des MainForms.
public MainForm()
{
InitializeButtons();
}
// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.
public static void Main()
{
Application.Run(new MainForm());
}
// Initialisiert die Buttons.
private void InitializeButtons()
{
// Erzeugt 3 Buttons auf dem Hauptfenster.
newButton = new Button();
newButton.Location = new System.Drawing.Point(50, 50);
newButton.Text = "New";
Controls.Add(newButton);
openButton = new Button();
openButton.Location = new System.Drawing.Point(50, 100);
openButton.Text = "Open";
Controls.Add(openButton);
saveButton = new Button();
saveButton.Location = new System.Drawing.Point(50, 150);
saveButton.Text = "Save";
Controls.Add(saveButton);
SuspendLayout();
Text = "Dialogs example"; // Setzt die Beschriftung des Hauptfensters.
ResumeLayout(false);
PerformLayout();
// Verknüpft die Ereignisbehandlungsmethoden jeweils mit dem Klick-Ereignis der Buttons.
newButton.Click += new System.EventHandler(NewButton_Clicked);
openButton.Click += new System.EventHandler(OpenButton_Clicked);
saveButton.Click += new System.EventHandler(SaveButton_Clicked);
}
// Diese Methode wird aufgerufen, wenn der Benutzer auf den Button "New" klickt.
private void NewButton_Clicked(object sender, System.EventArgs e)
{
Form newForm = new Form(); // Erzeugt ein neues Fenster durch Aufruf des Standardkonstruktors.
newForm.ShowDialog(); // Zeigt das Fenster als modaler Dialog an.
}
// Diese Methode wird aufgerufen, wenn der Benutzer auf den Button "Open" klickt.
private void OpenButton_Clicked(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog(); // Erzeugt einen neuen Dateidialog durch Aufruf des Standardkonstruktors.
openFileDialog.Multiselect = false; // Legt fest, dass nur eine Datei geöffnet werden kann.
openFileDialog.Filter = "XML (*.xml)|*.xml"; // Legt fest, dass nur XML Dateien zur Auswahl stehen und geöffnet werden können.
openFileDialog.ShowDialog();
}
// Diese Methode wird aufgerufen, wenn der Benutzer auf den Button "Save" klickt.
private void SaveButton_Clicked(object sender, System.EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog(); // Erzeugt einen neuen Dateidialog durch Aufruf des Standardkonstruktors.
saveFileDialog.Filter = "XML (*.xml)|*.xml"; // Legt fest, dass nur XML Dateien gespeichert werden können.
saveFileDialog.ShowDialog();
}
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.