Confirm
Ein ConfirmDialog ist ein modales Dialogfeld, das es dem Benutzer ermöglicht, eine von bis zu 3 Optionen auszuwählen. Das Dialogfeld blockiert die Ausführung der Anwendung, bis der Benutzer mit ihm interagiert oder es aufgrund eines Zeitlimits geschlossen wird.
Usages
Der ConfirmDialog bietet eine Möglichkeit, die Benutzer um Bestätigung zu bitten oder zwischen mehreren Optionen zu wählen, wie Ja/Nein oder OK/Abbrechen, und stellt sicher, dass sie ihre Handlungen anerkennen und bestätigen.
Code anzeigen
- Java
Types
Option type
Der ConfirmDialog unterstützt die folgenden Optionstypen, die die im Dialogfeld angezeigten Schaltflächen bestimmen:
OK: Zeigt eineOK-Schaltfläche an.OK_CANCEL: ZeigtOK- undAbbrechen-Schaltflächen an.ABORT_RETRY_IGNORE: ZeigtAbbrechen,WiederholenundIgnorieren-Schaltflächen an.YES_NO_CANCEL: ZeigtJa,NeinundAbbrechen-Schaltflächen an.YES_NO: ZeigtJa- undNein-Schaltflächen an.RETRY_CANCEL: ZeigtWiederholenundAbbrechen-Schaltflächen an.CUSTOM: Zeigt benutzerdefinierte Schaltflächen an, wie spezifiziert.
Message type
Der ConfirmDialog unterstützt die folgenden Nachrichtentypen. Wenn Sie einen Typ konfigurieren, wird ein Symbol neben der Nachricht angezeigt, und das Design des Dialogs wird gemäß den Regeln des webforJ-Designsystems aktualisiert.
PLAIN: Zeigt die Nachricht ohne Symbol an, verwendet das Standarddesign.ERROR: Zeigt ein Fehlersymbol neben der Nachricht mit dem Fehlerdesign an.QUESTION: Zeigt ein Fragezeichensymbol neben der Nachricht an, verwendet das Hauptdesign.WARNING: Zeigt ein Warnsymbol neben der Nachricht mit dem Warnungsdesign an.INFO: Zeigt ein Informationssymbol neben der Nachricht an, verwendet das Informationsdesign.
Im folgenden Beispiel konfiguriert der Code ein Bestätigungsdialogfeld vom Typ CUSTOM mit einem benutzerdefinierten Titel und einer benutzerdefinierten Nachricht.
Code anzeigen
- Java
Result
Der ConfirmDialog gibt ein Ergebnis basierend auf der Interaktion des Benutzers mit dem Dialog zurück. Dieses Ergebnis zeigt an, welche Schaltfläche der Benutzer geklickt hat oder ob der Dialog aufgrund eines Zeitlimits geschlossen wurde.
Das Ergebnis wird von der show()-Methode oder der entsprechenden OptionDialog-Methode wie unten gezeigt zurückgegeben.
Das ConfirmDialog.Result-Enum umfasst die folgenden möglichen Ergebnisse:
OK: Der Benutzer hat dieOK-Schaltfläche geklickt.CANCEL: Der Benutzer hat dieCANCEL-Schaltfläche geklickt.YES: Der Benutzer hat dieYES-Schaltfläche geklickt.NO: Der Benutzer hat dieNO-Schaltfläche geklickt.ABORT: Der Benutzer hat dieABORT-Schaltfläche geklickt.RETRY: Der Benutzer hat dieRETRY-Schaltfläche geklickt.IGNORE: Der Benutzer hat dieIGNORE-Schaltfläche geklickt.FIRST_CUSTOM_BUTTON: Der Benutzer hat die erste benutzerdefinierte Schaltfläche geklickt.SECOND_CUSTOM_BUTTON: Der Benutzer hat die zweite benutzerdefinierte Schaltfläche geklickt.THIRD_CUSTOM_BUTTON: Der Benutzer hat die dritte benutzerdefinierte Schaltfläche geklickt.TIMEOUT: Das Dialogfeld ist abgelaufen.UNKNOWN: Ein unbekanntes Ergebnis, typischerweise als Standard- oder Fehlerzustand verwendet.
if (result == ConfirmDialog.Result.FIRST_CUSTOM_BUTTON) {
OptionDialog.showMessageDialog("Änderungen verworfen", "Verworfen", "Verstanden");
} else {
OptionDialog.showMessageDialog(
"Änderungen gespeichert", "Gespeichert", "Verstanden", MessageDialog.MessageType.INFO);
}
Default button
Der ConfirmDialog ermöglicht es Ihnen, eine Standard-Schaltfläche anzugeben, die beim Anzeigen des Dialogs vorausgewählt ist. Dies verbessert die Benutzererfahrung, indem eine empfohlene Aktion bereitgestellt wird, die schnell durch Drücken der Enter-Taste bestätigt werden kann.
ConfirmDialog dialog = new ConfirmDialog(
"Sind Sie sicher?", "Bestätigen", ConfirmDialog.OptionType.YES_NO);
dialog.setDefaultButton(Button.SECOND); // zweite Schaltfläche
dialog.show();
Buttons text
Sie können den Text der Schaltflächen mit der Methode setButtonText(ConfirmDialog.Button button, String text) konfigurieren.
ConfirmDialog dialog = new ConfirmDialog(
"Sind Sie sicher?", "Bestätigen", ConfirmDialog.OptionType.CUSTOM);
dialog.setButtonText(ConfirmDialog.Button.FIRST, "Absolut");
dialog.setButtonText(ConfirmDialog.Button.SECOND, "Nein");
dialog.show();
HTML processing
Standardmäßig verarbeitet und rendert das Bestätigungsdialogfeld HTML-Inhalte. Sie können diese Funktion deaktivieren, indem Sie es so konfigurieren, dass statischen Text anstelle von HTML angezeigt wird.
ConfirmDialog dialog = new ConfirmDialog(
"<b>Sind Sie sicher?</b>", "Bestätigen",
ConfirmDialog.OptionType.YES_NO, ConfirmDialog.MessageType.QUESTION);
dialog.setRawText(true);
dialog.show();
Timeout
Der ConfirmDialog ermöglicht es Ihnen, eine Zeitüberschreitung zu setzen, nach der das Dialogfeld automatisch geschlossen wird. Diese Funktion ist nützlich für nicht kritische Bestätigungen oder Aktionen, die keine sofortige Interaktion des Benutzers erfordern.
Sie können die Zeitüberschreitung für das Dialogfeld mit der Methode setTimeout(int timeout) konfigurieren. Die Zeitüberschreitung wird in Sekunden angegeben. Wenn die angegebene Zeit vergeht, ohne dass eine Benutzerinteraktion erfolgt, wird das Dialogfeld automatisch geschlossen.
ConfirmDialog dialog = new ConfirmDialog(
"Sind Sie sicher?", "Bestätigen", ConfirmDialog.OptionType.YES_NO);
dialog.setDefaultButton(Button.SECOND);
dialog.setTimeout(3);
ConfirmDialog.Result result = dialog.show();
switch (result) {
case TIMEOUT:
OptionDialog.showMessageDialog(
"Sie haben sich zu lange Zeit gelassen", "Zeitüberschreitung", "Verstanden",
MessageDialog.MessageType.WARNING);
break;
case YES:
OptionDialog.showMessageDialog(
"Sie haben Ja geklickt", "Ja", "Verstanden",
MessageDialog.MessageType.INFO);
break;
default:
OptionDialog.showMessageDialog(
"Sie haben Nein geklickt", "Nein", "Verstanden",
MessageDialog.MessageType.INFO);
break;
}
Best practices
- Klare und prägnante Aufforderungen: Stellen Sie sicher, dass die Aufforderungsnachricht klar erklärt, welche Aktion der Benutzer bestätigen soll. Vermeiden Sie Mehrdeutigkeiten.
- Angemessene Optionstypen: Wählen Sie Optionstypen, die dem Kontext der Aktion entsprechen. Bei einfachen Ja/Nein-Entscheidungen verwenden Sie einfache Optionen. Bei komplexeren Szenarien bieten Sie zusätzliche Schaltflächen wie "Abbrechen" an, um Benutzern die Möglichkeit zu geben, ohne Auswahl zurückzukehren.
- Logische Standard-Schaltfläche: Setzen Sie eine Standard-Schaltfläche, die mit der wahrscheinlichsten oder empfohlenen Benutzeraktion übereinstimmt, um die Entscheidungsfindung zu vereinfachen.
- Konsistentes Thema: Stimmen Sie das Design des Dialogs und der Schaltflächen mit dem Design Ihrer Anwendung ab, um ein einheitliches Benutzererlebnis zu schaffen.
- Vorsichtiger Einsatz von Zeitlimits: Setzen Sie Zeitlimits für nicht kritische Bestätigungen, und stellen Sie sicher, dass die Benutzer genügend Zeit haben, um die Aufforderung zu lesen und zu verstehen.
- Übermäßigen Einsatz minimieren: Verwenden Sie Bestätigungsdialoge sparsam, um Benutzerfrustration zu vermeiden. Reservieren Sie sie für kritische Aktionen, die eine ausdrückliche Bestätigung des Benutzers erfordern.