Confirm
Ein ConfirmDialog ist ein modales Dialogfeld, das entwickelt wurde, um dem Benutzer die Wahl zwischen bis zu 3 Optionen zu ermöglichen. Der Dialog blockiert die Ausführung der App, bis der Benutzer mit ihm interagiert oder er aufgrund eines Zeitlimits geschlossen wird.
Usages
Der ConfirmDialog bietet eine Möglichkeit, Benutzer um Bestätigung zu bitten oder zwischen mehreren Optionen, wie Ja/Nein oder OK/Abbrechen, zu wählen, damit sie ihre Aktionen anerkennen und bestätigen.
Code anzeigen
- ConfirmDialogConstructorView.java
Types
Option type
Der ConfirmDialog unterstützt die folgenden Optionstypen, die die im Dialog angezeigten Tasten bestimmen:
OK: Zeigt eineOK-Taste an.OK_CANCEL: ZeigtOK- undAbbrechen-Tasten an.ABORT_RETRY_IGNORE: ZeigtAbbrechen,WiederholenundIgnorieren-Tasten an.YES_NO_CANCEL: ZeigtJa,NeinundAbbrechen-Tasten an.YES_NO: ZeigtJaundNein-Tasten an.RETRY_CANCEL: ZeigtWiederholenundAbbrechen-Tasten an.CUSTOM: Zeigt benutzerdefinierte Tasten an, wie angegeben.
Message type
Der ConfirmDialog unterstützt die folgenden Nachrichtentypen. Wenn Sie einen Typ konfigurieren, zeigt der Dialog ein Symbol neben der Nachricht an, und das Design des Dialogs aktualisiert sich gemäß den Regeln des webforJ-Designsystems.
PLAIN: Zeigt die Nachricht ohne Symbol an und nutzt das Standarddesign.ERROR: Zeigt ein Fehler-Symbol neben der Nachricht mit dem Fehlerdesign an.QUESTION: Zeigt ein Fragezeichen-Symbol neben der Nachricht an und nutzt das primäre Design.WARNING: Zeigt ein Warnsymbol neben der Nachricht mit dem Warnungsdesign an.INFO: Zeigt ein Informationssymbol neben der Nachricht an und nutzt das Informationsdesign.
Im folgenden Beispiel konfiguriert der Code einen Bestätigungsdialog des Typs CUSTOM mit einem benutzerdefinierten Titel und einer benutzerdefinierten Nachricht.
Code anzeigen
- ConfirmDialogOptionsView.java
Result
Der ConfirmDialog gibt ein Ergebnis zurück, das auf der Interaktion des Benutzers mit dem Dialog basiert. Dieses Ergebnis zeigt an, welche Taste der Benutzer gedrückt hat oder ob der Dialog aufgrund eines Zeitlimits geschlossen wurde.
Das Ergebnis wird aus der Methode show() oder der entsprechenden Methode von OptionDialog zurückgegeben, wie unten gezeigt.
Die ConfirmDialog.Result-Enum umfasst die folgenden möglichen Ergebnisse:
OK: Der Benutzer hat dieOK-Taste gedrückt.CANCEL: Der Benutzer hat dieCANCEL-Taste gedrückt.YES: Der Benutzer hat dieYES-Taste gedrückt.NO: Der Benutzer hat dieNO-Taste gedrückt.ABORT: Der Benutzer hat dieABORT-Taste gedrückt.RETRY: Der Benutzer hat dieRETRY-Taste gedrückt.IGNORE: Der Benutzer hat dieIGNORE-Taste gedrückt.FIRST_CUSTOM_BUTTON: Der Benutzer hat die erste benutzerdefinierte Taste gedrückt.SECOND_CUSTOM_BUTTON: Der Benutzer hat die zweite benutzerdefinierte Taste gedrückt.THIRD_CUSTOM_BUTTON: Der Benutzer hat die dritte benutzerdefinierte Taste gedrückt.TIMEOUT: Der Dialog hat ein Zeitlimit erreicht.UNKNOWN: Ein unbekanntes Ergebnis, das typischerweise als Standard- oder Fehlerzustand verwendet wird.
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 Standardtaste anzugeben, die beim Anzeigen des Dialogs vorab ausgewä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 Taste
dialog.show();
Buttons text
Sie können den Text der Tasten 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 der Bestätigungsdialog HTML-Inhalte. Sie können diese Funktion deaktivieren, indem Sie ihn so konfigurieren, dass er statischen Text anzeigt.
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überschreitungsdauer festzulegen, nach der der Dialog 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 den Dialog mit der Methode setTimeout(int timeout) konfigurieren. Die Zeitüberschreitung wird in Sekunden gemessen. Wenn die angegebene Zeit ohne Benutzerinteraktion verstreicht, schließt der Dialog automatisch.
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 zu lange gebraucht, um zu entscheiden", "Zeitüberschreitung", "Verstanden",
MessageDialog.MessageType.WARNING);
break;
case YES:
OptionDialog.showMessageDialog(
"Sie haben Ja gedrückt", "Ja", "Verstanden",
MessageDialog.MessageType.INFO);
break;
default:
OptionDialog.showMessageDialog(
"Sie haben Nein gedrückt", "Nein", "Verstanden",
MessageDialog.MessageType.INFO);
break;
}
Best practices
- Klare und prägnante Aufforderungen: Stellen Sie sicher, dass die Aufforderungsnachricht eindeutig erklärt, welche Aktion der Benutzer bestätigen soll. Vermeiden Sie Mehrdeutigkeiten.
- Angemessene Optionstypen: Wählen Sie Optionstypen, die zum Kontext der Handlung passen. Bei einfachen Ja/Nein-Entscheidungen verwenden Sie unkomplizierte Optionen. Bei komplexeren Szenarien bieten Sie zusätzliche Tasten wie "Abbrechen" an, um den Benutzern zu ermöglichen, ohne eine Wahl zurückzutreten.
- Logische Standardtaste: Legen Sie eine Standardtaste fest, die mit der wahrscheinlichsten oder empfohlenen Benutzeraktion übereinstimmt, um die Entscheidungsfindung zu optimieren.
- Konsistente Gestaltung: Stimmen Sie das Design des Dialogs und der Tasten mit dem Design Ihrer App ab, um ein einheitliches Benutzererlebnis zu gewährleisten.
- Vorsichtiger Einsatz von Zeitüberschreitungen: Setzen Sie Zeitüberschreitungen für nicht kritische Bestätigungen fest, um sicherzustellen, dass die Benutzer genügend Zeit haben, um die Aufforderung zu lesen und zu verstehen.
- Minimierung der Übernutzung: Verwenden Sie Bestätigungsdialoge sparsam, um Benutzerfrustration zu vermeiden. Reservieren Sie sie für kritische Aktionen, die eine ausdrückliche Benutzerbestätigung erfordern.