Confirm
Ein ConfirmDialog ist ein modales Dialogfeld, das es dem Benutzer ermöglicht, eine von bis zu 3 Optionen auszuwählen. Der Dialog blockiert die Ausführung der Anwendung, bis der Benutzer damit interagiert oder er aufgrund eines Timeouts geschlossen wird.
Verwendungen
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, um sicherzustellen, dass sie ihre Aktionen anerkennen und bestätigen.
Code anzeigen
- ConfirmDialogConstructorView.java
Typen
Optionstyp
Der ConfirmDialog unterstützt die folgenden Optionstypen, die die im Dialog 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: ZeigtJaundNein-Schaltflächen an.RETRY_CANCEL: ZeigtWiederholen- undAbbrechen-Schaltflächen an.CUSTOM: Zeigt benutzerdefinierte Schaltflächen an, wie angegeben.
Nachrichtentyp
Der ConfirmDialog unterstützt die folgenden Nachrichtentypen. Wenn Sie einen Typ konfigurieren, zeigt der Dialog ein Symbol neben der Nachricht an, und das Thema des Dialogs wird entsprechend den Regeln des WebforJ-Designsystems aktualisiert.
PLAIN: Zeigt die Nachricht ohne Symbol an, unter Verwendung des Standardthemas.ERROR: Zeigt ein Fehler-Symbol neben der Nachricht mit dem Fehler-Thema an.QUESTION: Zeigt ein Fragezeichen-Symbol neben der Nachricht an, unter Verwendung des primären Themas.WARNING: Zeigt ein Warnsymbol neben der Nachricht mit dem Warnungs-Thema an.INFO: Zeigt ein Informationssymbol neben der Nachricht an, unter Verwendung des Informations-Themas.
Im folgenden Beispiel konfiguriert der Code einen Bestätigungsdialog vom Typ CUSTOM mit einem benutzerdefinierten Titel und einer benutzerdefinierten Nachricht.
Code anzeigen
- ConfirmDialogOptionsView.java
Ergebnis
Der ConfirmDialog gibt ein Ergebnis zurück, das auf der Interaktion des Benutzers mit dem Dialog basiert. Dieses Ergebnis zeigt an, welche Schaltfläche der Benutzer geklickt hat oder ob der Dialog aufgrund eines Timeouts verworfen wurde.
Das Ergebnis wird von der Methode show() oder der entsprechenden OptionDialog-Methode zurückgegeben, wie unten gezeigt.
Das ConfirmDialog.Result-Enum enthält 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: Der Dialog hat einen Timeout.UNKNOWN: Ein unbekanntes Ergebnis, typischerweise als Standard- oder Fehlerstatus verwendet.
if (result == ConfirmDialog.Result.FIRST_CUSTOM_BUTTON) {
OptionDialog.showMessageDialog("Änderungen verworfen", "Verworfen", "Verstanden");
} else {
OptionDialog.showMessageDialog(
"Änderungen gespeichert", "Gespeichert", "Verstanden", MessageDialog.MessageType.INFO);
}
Standard-Schaltfläche
Der ConfirmDialog ermöglicht es Ihnen, eine Standard-Schaltfläche anzugeben, die vorab ausgewählt ist, wenn der Dialog angezeigt wird. Dies verbessert das Benutzererlebnis, indem es eine empfohlene Aktion bietet, 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();
Schaltflächentext
Sie können den Text der Schaltflächen mithilfe 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-Verarbeitung
Standardmäßig verarbeitet und rendert der Bestätigungsdialog HTML-Inhalte. Sie können diese Funktion deaktivieren, indem Sie ihn so konfigurieren, dass er stattdessen reinen 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 Timeout-Dauer festzulegen, nach der der Dialog automatisch geschlossen wird. Diese Funktion ist nützlich für nicht kritische Bestätigungen oder Aktionen, die nicht sofortige Interaktion des Benutzers erfordern.
Sie können das Timeout für den Dialog mit der Methode setTimeout(int timeout) konfigurieren. Die Timeout-Dauer wird in Sekunden angegeben. Wenn die angegebene Zeit vergeht, ohne dass der Benutzer interagiert, schließt sich 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 eine Entscheidung zu treffen", "Timeout", "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 Mehrdeutigkeit.
- Angemessene Optionstypen: Wählen Sie Optionstypen, die dem Kontext der Aktion entsprechen. Für einfache Ja/Nein-Entscheidungen verwenden Sie unkomplizierte Optionen. Für komplexere Szenarien bieten Sie zusätzliche Schaltflächen wie "Abbrechen" an, um Benutzern zu ermöglichen, ohne eine Wahl zurückzukehren.
- Logische Standard-Schaltfläche: Setzen Sie eine Standard-Schaltfläche, die mit der wahrscheinlichsten oder empfohlenen Benutzeraktion übereinstimmt, um den Entscheidungsprozess zu erleichtern.
- Konsistente Gestaltung: Passen Sie das Design des Dialogs und der Schaltflächen an das Design Ihrer App an, um ein kohärentes Benutzererlebnis zu gewährleisten.
- Überlegter Einsatz von Timeouts: Setzen Sie Timeouts für nicht kritische Bestätigungen, und stellen Sie sicher, dass Benutzer genügend Zeit haben, um die Aufforderung zu lesen und zu verstehen.
- Übermäßige Nutzung minimieren: Verwenden Sie Bestätigungsdialoge sparsam, um Frustration bei den Benutzern zu vermeiden. Reservieren Sie sie für kritische Aktionen, die eine ausdrückliche Benutzerbestätigung erfordern.