TimeField
TimeField est un composant d'interface utilisateur qui permet aux utilisateurs d'entrer ou de sélectionner des heures en heures, minutes et, éventuellement, secondes. Il fournit un moyen intuitif et efficace de gérer les informations liées au temps dans diverses applications.
Utilisation du TimeField
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 étend la classe Field partagée, qui fournit des fonctionnalités communes à tous les composants de champ. L'exemple suivant crée un TimeField de rappel initialisé à l'heure actuelle.
Afficher le code
- TimeFieldView.java
Utilisations
Le TimeField est idéal pour choisir et afficher des heures dans votre application. Voici quelques exemples d'utilisation du TimeField :
-
Planification d'événements : Les champs horaires sont essentiels dans les applications qui impliquent la programmation d'heures pour des événements, des rendez-vous ou des réunions.
-
Suivi et journalisation du temps : Les applications qui suivent le temps, comme les feuilles de temps, nécessitent des champs horaires pour des entrées précises.
-
Rappels et alarmes : Utiliser un champ horaire simplifie le processus de saisie pour les utilisateurs définissant 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 d'heures acceptables.
-
Pour
setMin(): Si la valeur saisie dans le composant est antérieure à l'heure minimale spécifiée, le composant échouera à la validation des contraintes. Lorsque les valeurs min et max sont toutes deux définies, la valeur minimale doit être une heure identique 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 des contraintes. Lorsque les valeurs min et max sont toutes deux définies, la valeur maximale doit être une heure identique ou postérieure à la valeur minimale.
Gestion et localisation des valeurs
Le composant TimeField représente en interne sa valeur à l'aide d'un objet LocalTime du paquet java.time. Cela permet aux développeurs d'interagir avec des valeurs horaires précises, quelle que soit leur représentation visuelle.
Bien que le composant côté client affiche le temps selon la locale du navigateur de l'utilisateur, le format analysé et stocké 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
Lors de l'utilisation de la méthode setText(), une IllegalArgumentException sera lancée si le composant ne peut pas analyser l'entrée dans le format HH:mm:ss.
L'apparence de l'interface utilisateur du sélecteur horaire dépend non seulement de la locale 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 connaissant déjà.
Utilitaires statiques
La classe TimeField fournit également les méthodes utilitaires statiques suivantes :
-
fromTime(String timeAsString): Convertit 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): Convertit un LocalTime en une chaîne horaire au format HH:mm:ss. -
isValidTime(String timeAsString): Vérifie 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 horaire attendu près du
TimeField. Utilisez des exemples ou des espaces réservés pour les aider à entrer l'heure correctement. Si possible, affichez le format d'heure en fonction de l'emplacement de l'utilisateur. -
Accessibilité : Utilisez le composant
TimeFielden tenant compte de l'accessibilité, en vous assurant qu'il respecte les normes d'accessibilité telles que la fourniture d'étiquettes appropriées, un contraste de couleurs suffisant et la compatibilité avec les technologies d'assistance. -
Option de réinitialisation : Offrez un moyen aux utilisateurs de vider facilement le
TimeFieldpour le ramener à un état vide ou par défaut.