Aller au contenu principal

TimeField

Ouvrir dans ChatGPT
Shadow dwc-field 23.02
Java API
Inheritance

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.

TimeField est un composant d'interface utilisateur qui permet aux utilisateurs de saisir ou de sélectionner des heures, des minutes et, de manière optionnelle, des secondes. Il fournit un moyen intuitif et efficace de gérer des informations liées au temps dans diverses applications.

Afficher le code

Usages

Le TimeField est idéal pour choisir et afficher des heures dans votre application. Voici quelques exemples de situations où utiliser le TimeField :

  1. Planification d'événements : Les champs horaires sont essentiels dans les applications qui impliquent de définir des heures pour des événements, des rendez-vous ou des réunions.

  2. Suivi et journalisation du temps : Les applications qui suivent le temps, comme les feuilles de temps, ont besoin de champs horaires pour des saisies précises.

  3. Rappels et alarmes : L'utilisation d'un champ horaire simplifie le processus de saisie pour les utilisateurs qui définissent des rappels ou des alarmes dans votre application.

Valeur minimale et maximale

Avec les méthodes setMin() et setMax(), vous pouvez spécifier une plage de temps acceptables.

  • Pour setMin() : Si la valeur saisie dans le composant est antérieure à l'heure minimale spécifiée, le composant échouera la validation de contrainte. Lorsque les valeurs minimales et maximales sont définies, la valeur minimale doit être une heure qui est la même ou antérieure à la valeur maximale.

  • Pour setMax() : Si la valeur saisie dans le composant est postérieure à l'heure maximale spécifiée, le composant échouera la validation de contrainte. Lorsque les valeurs minimales et maximales sont définies, la valeur maximale doit être une heure qui est la même ou postérieure à la valeur minimale.

Gestion des valeurs et localisation

En interne, le composant TimeField représente sa valeur à l'aide d'un objet LocalTime du package java.time. Cela permet aux développeurs d'interagir avec des valeurs temporelles précises, peu importe comment elles sont affichées.

Bien que le composant côté client affiche l'heure en fonction de la langue du navigateur de l'utilisateur, le format analysé et enregistré est toujours standardisé sous HH:mm:ss.

Si vous définissez une valeur de chaîne brute, utilisez la méthode setText() avec précaution :

timeField.setText("09:15:00"); // valide
attention

Lorsque vous utilisez la méthode setText(), une IllegalArgumentException sera levée si le composant ne peut pas analyser l'entrée au format HH:mm:ss.

Interface utilisateur du sélecteur

L'apparence de l'interface utilisateur du sélecteur horaire dépend non seulement de la langue sélectionnée mais aussi du navigateur et du système d'exploitation utilisés. Cela garantit une cohérence automatique avec l'interface que les utilisateurs connaissent déjà.

Utilitaires statiques

La classe TimeField fournit également les méthodes utilitaires statiques suivantes :

  • fromTime(String timeAsString) : Convertir une chaîne horaire au format HH:mm:ss en un objet LocalTime qui peut ensuite être utilisé avec cette classe ou ailleurs.

  • toTime(LocalTime time) : Convertir un LocalTime en une chaîne horaire au format HH:mm:ss.

  • isValidTime(String timeAsString) : Vérifiez si la chaîne donnée est une heure valide au format HH:mm:ss. Cela renverra une valeur booléenne vraie si c'est le cas, fausse sinon.

Meilleures pratiques

  • Fournir des exemples clairs de format d'heure : Montrez clairement aux utilisateurs le format d'heure attendu près du TimeField. Utilisez des exemples ou des espaces réservés pour les aider à saisir correctement l'heure. Si possible, affichez le format d'heure en fonction de la position de l'utilisateur.

  • Accessibilité : Utilisez le composant TimeField en gardant à l'esprit l'accessibilité, en veillant à ce qu'il respecte les normes d'accessibilité telles que fournir des étiquettes appropriées, un contraste de couleur suffisant, et une compatibilité avec les technologies d'assistance.

  • Option de réinitialisation : Fournissez un moyen pour les utilisateurs de vider facilement le TimeField pour un état vide ou par défaut.