Invoervenster
Een InputDialog
is een modaal venster dat is ontworpen om de gebruiker om invoer te vragen. Het venster blokkeert de uitvoering van de app totdat de gebruiker de invoer heeft verstrekt of het venster sluit.
Toon Code
- Java
Gebruiken
De InputDialog
biedt een manier om invoer van gebruikers te vragen, zoals tekst, nummers of andere gegevens, en zorgt ervoor dat ze de nodige informatie verstrekken voordat ze verder gaan.
Typen
Invoertypen
De InputDialog
ondersteunt verschillende typen invoervelden, waardoor je de invoermethode kunt afstemmen op je specifieke behoeften:
- TEKST: Een standaard eenregelig tekstinvoerveld.
- WACHTWOORD: Een wachtwoordinvoerveld dat de invoer van de gebruiker verbergt.
- NUMMER: Een numeriek invoerveld.
- E-MAIL: Een invoerveld voor e-mailadressen.
- URL: Een invoerveld voor URL's.
- ZOEKEN: Een tekstinvoerveld voor zoekopdrachten.
- DATUM: Een invoerveld voor het selecteren van datums.
- TIJD: Een invoerveld voor het selecteren van tijd.
- DATUMTIJD_LOKAAL: Een invoerveld voor het selecteren van lokale datum en tijd.
- KLEUR: Een invoerveld voor het selecteren van een kleur.
Berichten type
De InputDialog
ondersteunt de volgende berichttypen. Wanneer je een type configureert, toont het venster een pictogram naast het bericht, en het thema van het venster wordt bijgewerkt volgens de ontwerpregels van webforJ.
PLAIN
: Toont het bericht zonder pictogram, met gebruik van het standaardthema.ERROR
: Toont een foutpictogram naast het bericht met het foutthema toegepast.QUESTION
: Toont een vraagtekenpictogram naast het bericht, met gebruik van het primaire thema.WARNING
: Toont een waarschuwingspictogram naast het bericht met het waarschuwings-thema toegepast.INFO
: Toont een informatiepictogram naast het bericht, met gebruik van het informatie-thema.
In het volgende voorbeeld wordt de gebruiker gevraagd zijn wachtwoord in te voeren om toegang tot de app te krijgen. Als de aanmelding mislukt, wordt de gebruiker opnieuw gevraagd.
Toon Code
- Java
Resultaat
De InputDialog
retourneert de invoer van de gebruiker als een string. Als de gebruiker het venster sluit zonder invoer te geven, zal het resultaat null
zijn.
De resulterende string wordt geretourneerd door de show()
-methode, of de equivalente OptionDialog
-methode zoals hieronder weergegeven.
String result = OptionDialog.showInputDialog(
"Voer alstublieft uw leeftijd in:", "Leeftijd Invoer", "", InputDialog.InputType.NUMBER);
if (result != null) {
OptionDialog.showMessageDialog("U heeft ingevoerd: " + result, "Invoer Ontvangen");
} else {
OptionDialog.showMessageDialog("Geen invoer ontvangen", "Invoer Geannuleerd");
}
Standaardwaarde
De InputDialog
stelt je in staat om een standaardwaarde op te geven die verschijnt in het invoerveld wanneer het venster wordt weergegeven. Dit kan gebruikers een suggestie of een eerder ingevoerde waarde bieden.
InputDialog dialog = new InputDialog(
"Voer alstublieft uw naam in:", "Naam Invoer", "John Doe", InputDialog.InputType.TEXT);
String result = dialog.show();
Time-out
De InputDialog
stelt je in staat om een time-outduur in te stellen waarna het venster automatisch sluit. Deze functie is nuttig voor niet-kritieke invoervragen of acties die geen onmiddellijke interactie van de gebruiker vereisen.
Je kunt de time-out voor het venster configureren met behulp van de setTimeout(int timeout)
-methode. De time-outduur is in seconden. Als de opgegeven tijd verstrijkt zonder enige interactie van de gebruiker, sluit het venster automatisch.
InputDialog dialog = new InputDialog(
"Voer alstublieft uw naam in:", "Naam Invoer", "John Doe");
dialog.setTimeout(5);
String result = dialog.show();
OptionDialog.showMessageDialog(
"U heeft ingevoerd: " + result, "Invoer Ontvangen", "OK", MessageDialog.MessageType.INFO);
Best practices
- Duidelijke en Bondige Vragen: Zorg ervoor dat het bericht duidelijk uitlegt welke informatie de gebruiker wordt gevraagd te verstrekken.
- Geschikte Invoertypen: Kies invoertypen die overeenkomen met de vereiste gegevens om nauwkeurige en relevante invoer van de gebruiker te waarborgen.
- Logische Standaardwaarden: Stel standaardwaarden in die nuttige suggesties of eerdere invoer bieden om de invoer van de gebruiker te stroomlijnen.
- Geselecteerd Gebruik van Time-out: Stel time-outs in voor niet-kritieke invoervragen, zodat gebruikers voldoende tijd hebben om de vereiste informatie te verstrekken.
- Minimaal Gebruik: Gebruik invoervensters spaarzaam om frustratie bij de gebruiker te voorkomen. Bewaar ze voor acties die specifieke invoer van de gebruiker vereisen.