Input Dialog
Ein InputDialog ist ein modales Dialogfeld, das dazu dient, den Benutzer zur Eingabe aufzufordern. Das Dialogfeld blockiert die Ausführung der App, bis der Benutzer die Eingabe bereitstellt oder das Dialogfeld schließt.
Verwendungen
Der InputDialog fordert Benutzer zur Eingabe auf, wie z. B. Text, Zahlen oder andere Daten. Da das Dialogfeld modal ist, wartet die App darauf, dass der Benutzer reagiert, bevor sie fortsetzt:
Code anzeigen
- Java
Typen
Eingabetypen
Der InputDialog unterstützt verschiedene Eingabefelder, sodass Sie die Eingabemethode an Ihre speziellen Bedürfnisse anpassen können:
- TEXT: Eine standardmäßige einzeilige Texteingabe.
- PASSWORD: Ein Passwortfeld, das die Eingabe des Benutzers geheim hält.
- NUMBER: Ein numerisches Eingabefeld.
- EMAIL: Ein Eingabefeld für E-Mail-Adressen.
- URL: Ein Eingabefeld für URLs.
- SEARCH: Ein Texteingabefeld für Suchanfragen.
- DATE: Ein Eingabefeld zur Auswahl von Daten.
- TIME: Ein Eingabefeld zur Auswahl von Zeiten.
- DATETIME_LOCAL: Ein Eingabefeld zur Auswahl von lokalen Datum und Uhrzeit.
- COLOR: Ein Eingabefeld zur Auswahl einer Farbe.
Nachrichtentyp
Der InputDialog unterstützt die folgenden Nachrichtentypen. Wenn Sie einen Typ konfigurieren, zeigt das Dialogfeld ein Symbol neben der Nachricht an, und das Thema des Dialogfelds wird gemäß den Regeln des webforJ-Designsystems aktualisiert.
PLAIN: Zeigt die Nachricht ohne Symbol an und verwendet das Standardthema.ERROR: Zeigt ein Fehlersymbol neben der Nachricht an, mit dem dazugehörigen Fehlerdesign.QUESTION: Zeigt ein Fragezeichensymbol neben der Nachricht an und verwendet das primäre Thema.WARNING: Zeigt ein Warnsymbol neben der Nachricht an, mit dem dazugehörigen Warnungsdesign.INFO: Zeigt ein Informationssymbol neben der Nachricht an und verwendet das Informationsdesign.
Im 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
- Java
Ergebnis
Der InputDialog gibt die Eingabe des Benutzers als Zeichenfolge zurück. Wenn der Benutzer das Dialogfeld schließt, ohne eine Eingabe zu machen, wird das Ergebnis null sein.
Die resultierende Zeichenfolge wird von der Methode show() oder der äquivalenten OptionDialog-Methode wie unten gezeigt zurückgegeben.
String result = OptionDialog.showInputDialog(
"Bitte geben Sie Ihr Alter ein:", "Alterseingabe", "", InputDialog.InputType.NUMBER);
if (result != null) {
OptionDialog.showMessageDialog("Sie haben eingegeben: " + result, "Eingabe erhalten");
} else {
OptionDialog.showMessageDialog("Keine Eingabe erhalten", "Eingabe abgebrochen");
}
Standardwert
Der InputDialog ermöglicht es Ihnen, einen Standardwert anzugeben, der im Eingabefeld angezeigt wird, wenn das Dialogfeld geöffnet wird. Dies kann den Benutzern einen Vorschlag oder einen zuvor eingegebenen Wert bieten.
InputDialog dialog = new InputDialog(
"Bitte geben Sie Ihren Namen ein:", "Namenseingabe", "John Doe", InputDialog.InputType.TEXT);
String result = dialog.show();
Timeout
Der InputDialog ermöglicht es Ihnen, eine Timeout-Dauer festzulegen, nach der das Dialogfeld automatisch geschlossen wird. Diese Funktion ist nützlich für nicht kritische Eingabeaufforderungen oder Aktionen, die keine sofortige Interaktion des Benutzers erfordern.
Sie können das Timeout für das Dialogfeld mit der Methode setTimeout(int timeout) konfigurieren. Die Timeout-Dauer wird in Sekunden angegeben. Wenn die angegebene Zeit ohne Benutzerinteraktion verstreicht, schließt sich das Dialogfeld automatisch.
InputDialog dialog = new InputDialog(
"Bitte geben Sie Ihren Namen ein:", "Namenseingabe", "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 angeben soll.
- Angemessene Eingabetypen: Wählen Sie Eingabetypen, die zu den erforderlichen Daten passen, um genaue und relevante Benutzereingaben zu gewährleisten.
- Logische Standardwerte: Setzen Sie Standardwerte, die nützliche Vorschläge oder vorherige Eingaben bieten, um die Benutzereingabe zu optimieren.
- Vorsichtiger Einsatz von Timeouts: Setzen Sie Timeouts für nicht kritische Eingabeaufforderungen, um sicherzustellen, dass den Benutzern genügend Zeit bleibt, um die erforderlichen Informationen bereitzustellen.
- Übermäßigen Gebrauch minimieren: Verwenden Sie Eingabedialoge sparsam, um die Frustration der Benutzer zu vermeiden. Reservieren Sie sie für Aktionen, die spezifische Benutzereingaben erfordern.