DateField
Die DateField-Komponente ermöglicht es Benutzern, ein Datum nach Jahr, Monat und Tag einzugeben oder auszuwählen. Sie verarbeitet die Validierung automatisch, sodass falsch formatierte Daten vor dem Absenden des Formulars erfasst werden.
Verwendung von DateField
This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.
DateField erweitert die gemeinsame Field-Klasse, die gemeinsame Funktionen für alle Komponentenfelder bereitstellt. Das folgende Beispiel erstellt Abfahrts- und Rückkehr-DateFields, die synchron bleiben, mit Min- und Max-Beschränkungen, um den wählbaren Bereich einzuschränken.
Code anzeigen
- DateFieldView.java
Feldwert (LocalDate)
Die DateField-Komponente speichert ihren Wert intern als LocalDate-Objekt, das ein Datum ohne Zeit- oder Zeitzoneninformationen darstellt. Dies ermöglicht eine genaue Verarbeitung von kalenderbasierten Eingaben über unterschiedliche Systeme hinweg.
Während der angezeigte Wert sich an die Spracheinstellungen des Browsers des Benutzers anpasst und somit regional vertraute Formate sicherstellt (z. B. MM/DD/YYYY in den Vereinigten Staaten oder DD.MM.YYYY in Europa), basiert der geparste Wert immer auf dem festen Format yyyy-MM-dd.
Abrufen und Setzen des LocalDate-Werts
Um den aktuellen Wert abzurufen, verwenden Sie die Methode getValue():
LocalDate value = dateField.getValue();
Um den Wert programmgesteuert festzulegen, verwenden Sie die Methode setValue():
dateField.setValue(LocalDate.of(2024, 4, 27));
Verwendung von setText()
Sie können auch einen Wert mit einer Rohzeichenfolge zuweisen, diese muss jedoch dem genauen Format yyyy-MM-dd folgen:
dateField.setText("2024-04-27"); // gültig
dateField.setText("04/27/2024"); // ungültig
Beim Verwenden der Methode setText() wird eine IllegalArgumentException ausgelöst, wenn die Komponente die Eingabe im Format yyyy-MM-dd nicht parsen kann.
Anwendungen
Das DateField ist ideal zum Auswählen und Anzeigen von Daten in Ihrer Anwendung. Hier sind einige Beispiele, wann Sie das DateField verwenden sollten:
-
Ereignisplanung und Kalender: Datumsfelder sind unerlässlich in Apps, die die Planung von Ereignissen, die Buchung von Terminen oder das Verfolgen wichtiger Daten beinhalten.
-
Formulareingaben: Vereinfachen Sie den Auswahlprozess für ein Datum für einen Benutzer, der ein Formular ausfüllt, das ein Datum erfordert, wie z.B. ein Geburtstag.
-
Buchungs- und Reservierungssysteme: Apps, die Buchungs- und Reservierungssysteme beinhalten, erfordern oft, dass Benutzer spezifische Daten eingeben. Ein Datumsfeld vereinfacht den Prozess und sorgt für eine genaue Datenauswahl.
-
Aufgabenverwaltung und Fristen: Datumsfelder sind wertvoll in Apps, die Aufgabenverwaltung oder das Setzen von Fristen beinhalten. Benutzer können einfach Fälligkeitstermine, Startdaten oder andere zeitkritische Informationen angeben.
Min- und Max-Wert
Der Min-Wert
Die Methode setMin() definiert das früheste Datum, das ein Benutzer in die Komponente eingeben kann. Wenn die Eingabe früher als das angegebene Minimum ist, schlägt die Validierung fehl. Wenn sie zusammen mit setMax() verwendet wird, muss das Minimum ein Datum sein, das dasselbe oder früher als das Maximum ist.
dateField.setMin(LocalDate.of(2023, 1, 1)); // Mindestzulässig: 1. Januar 2023
Der Max-Wert
Die Methode setMax() definiert das späteste Datum, das die Komponente akzeptiert. Wenn das eingegebene Datum später als das angegebene Maximum ist, ist die Eingabe ungültig. Wenn beide Werte definiert sind, muss das Maximum ein Datum sein, das dasselbe oder später als das Minimum ist.
dateField.setMax(LocalDate.of(2023, 12, 31)); // Höchstens zulässig: 31. Dezember 2023
Statische Hilfsfunktionen
Die DateField-Klasse bietet auch die folgenden statischen Hilfsmethoden:
-
fromDate(String dateAsString): Konvertiert eine Datumszeichenfolge im Formatyyyy-MM-ddin einLocalDate-Objekt, das dann mit diesem Feld oder anderswo verwendet werden kann. -
toDate(LocalDate date): Konvertiert einLocalDate-Objekt in eine Datumszeichenfolge im Formatyyyy-MM-dd. -
isValidDate(String dateAsString): Überprüft, ob die angegebene Zeichenfolge ein gültiges Datum im Formatyyyy-MM-ddist.
Best Practices
Um ein optimales Benutzererlebnis bei der Verwendung der DateField-Komponente zu gewährleisten, sollten Sie die folgenden Best Practices berücksichtigen:
-
Barrierefreiheit: Verwenden Sie geeignete Beschriftungen, um sicherzustellen, dass Benutzer mit unterstützenden Technologien die Datumsfelder in Ihrer Anwendung leicht navigieren und verwenden können.
-
Automatisches Ausfüllen des aktuellen Datums: Wenn es für den Anwendungsfall Ihrer App sinnvoll ist, füllen Sie das Datumsfeld automatisch mit dem aktuellen Datum aus.