Input Dialog
Ein InputDialog ist ein modales Dialogfeld, das dazu dient, den Benutzer nach Eingaben zu fragen. Der Dialog blockiert die Ausführung der App, bis der Benutzer die Eingabe vorlegt oder das Dialogfeld schließt.
Usages
Der InputDialog fordert die Benutzer zur Eingabe von Informationen wie Text, Zahlen oder anderen Daten auf. Da der Dialog modal ist, wartet die App darauf, dass der Benutzer antwortet, bevor sie fortfährt:
Code anzeigen
- InputDialogBasicView.java
Types
Input types
Der InputDialog unterstützt verschiedene Arten von Eingabefeldern, mit denen Sie die Eingabemethode an Ihre spezifischen Bedürfnisse anpassen können:
- TEXT: Ein standardmäßiges Eingabefeld für eine einzelne Zeile.
- PASSWORD: Ein Eingabefeld für Passwörter, das die Eingabe des Benutzers verbirgt.
- NUMBER: Ein Eingabefeld für numerische Werte.
- EMAIL: Ein Eingabefeld für E-Mail-Adressen.
- URL: Ein Eingabefeld für URLs.
- SEARCH: Ein Eingabefeld für Suchtexte.
- DATE: Ein Eingabefeld zum Auswählen von Daten.
- TIME: Ein Eingabefeld zum Auswählen von Zeiten.
- DATETIME_LOCAL: Ein Eingabefeld zum Auswählen von lokalem Datum und Uhrzeit.
- COLOR: Ein Eingabefeld zum Auswählen einer Farbe.
Message type
Der InputDialog 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 gemäß den Regeln des webforJ-Designsystems aktualisiert.
PLAIN: Zeigt die Nachricht ohne Symbol an und verwendet das Standardthema.ERROR: Zeigt ein Fehler-Symbol neben der Nachricht mit dem angewendeten Fehler-Thema an.QUESTION: Zeigt ein Fragezeichen-Symbol neben der Nachricht an und verwendet das primäre Thema.WARNING: Zeigt ein Warnsymbol neben der Nachricht mit dem angewendeten Warn-Thema an.INFO: Zeigt ein Informationssymbol neben der Nachricht an und verwendet das Informations-Thema.
In dem folgenden Beispiel wird der Benutzer aufgefordert, sein Passwort einzugeben, um auf die App zuzugreifen. Wenn die Anmeldung fehlschlägt, wird der Benutzer erneut aufgefordert.
Code anzeigen
- InputDialogTypeView.java
Result
Der InputDialog gibt die Eingabe des Benutzers als String zurück. Wenn der Benutzer das Dialogfeld schließt, ohne eine Eingabe zu tätigen, wird das Ergebnis null sein.
Der resultierende String wird von der Methode show() oder der entsprechenden OptionDialog-Methode, wie unten gezeigt, zurückgegeben.
String result = OptionDialog.showInputDialog(
"Bitte geben Sie Ihr Alter ein:", "Alter Eingabe", "", InputDialog.InputType.NUMBER);
if (result != null) {
OptionDialog.showMessageDialog("Sie haben eingegeben: " + result, "Eingabe Erhalten");
} else {
OptionDialog.showMessageDialog("Keine Eingabe erhalten", "Eingabe Abgebrochen");
}
Default value
Der InputDialog ermöglicht es Ihnen, einen Standardwert anzugeben, der im Eingabefeld angezeigt wird, wenn der Dialog angezeigt wird. Dies kann den Benutzern einen Vorschlag oder einen zuvor eingegebenen Wert bieten.
InputDialog dialog = new InputDialog(
"Bitte geben Sie Ihren Namen ein:", "Name Eingabe", "John Doe", InputDialog.InputType.TEXT);
String result = dialog.show();
Timeout
Der InputDialog ermöglicht es Ihnen, eine Zeitüberschreitung festzulegen, nach der der Dialog automatisch geschlossen wird. Diese Funktion ist nützlich für weniger kritische Eingabeanforderungen oder Aktionen, die nicht die 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 ohne Benutzerinteraktion verstreicht, schließt sich der Dialog automatisch.
InputDialog dialog = new InputDialog(
"Bitte geben Sie Ihren Namen ein:", "Name Eingabe", "John Doe");
dialog.setTimeout(5);
String result = dialog.show();
OptionDialog.showMessageDialog(
"Sie haben eingegeben: " + result, "Eingabe Erhalten", "OK", MessageDialog.MessageType.INFO);
Best practices
- Klare und prägnante Aufforderungen: Stellen Sie sicher, dass die Aufforderungsnachricht klar erklärt, welche Informationen der Benutzer bereitstellen soll.
- Angemessene Eingabetypen: Wählen Sie Eingabetyen, die den erforderlichen Daten entsprechen, um genaue und relevante Benutzer Eingaben sicherzustellen.
- Logische Standardwerte: Setzen Sie Standardwerte, die nützliche Vorschläge oder frühere Einträge bieten, um die Benutzereingabe zu vereinfachen.
- Überlegter Einsatz von Timeouts: Setzen Sie Timeouts für weniger kritische Eingabeanfragen, um sicherzustellen, dass die Benutzer genug Zeit haben, um die erforderlichen Informationen anzugeben.
- Minimieren Sie die Übernutzung: Verwenden Sie Eingabedialoge sparsam, um Benutzerfrustration zu vermeiden. Reservieren Sie sie für Aktionen, die eine spezifische Benutzereingabe erfordern.