Saltar al contenido principal

TimeField

Abrir en ChatGPT
Sombra dwc-field 23.02
Java API

TimeField es un componente de interfaz de usuario que permite a los usuarios ingresar o seleccionar horas, minutos y, opcionalmente, segundos. Proporciona una manera intuitiva y eficiente de manejar información relacionada con el tiempo en diversas aplicaciones.

Usando el TimeField

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 extiende la clase compartida Field, que proporciona características comunes en todos los componentes de campo. El siguiente ejemplo crea un TimeField de recordatorio inicializado a la hora actual.

Mostrar Código

Usos

El TimeField es ideal para elegir y mostrar horas en tu aplicación. Aquí hay algunos ejemplos de cuándo usar el TimeField:

  1. Programación de Eventos: Los campos de tiempo son esenciales en aplicaciones que implican la fijación de horas para eventos, citas o reuniones.

  2. Seguimiento y Registro de Tiempo: Las aplicaciones que rastrean el tiempo, como las hojas de tiempo, necesitan campos de tiempo para entradas precisas.

  3. Recordatorios y Alarmas: Usar un campo de tiempo simplifica el proceso de entrada para los usuarios que establecen recordatorios o alarmas en tu aplicación.

Valor mínimo y máximo

Con los métodos setMin() y setMax(), puedes especificar un rango de horas aceptables.

  • Para setMin(): Si el valor ingresado en el componente es anterior a la hora mínima especificada, el componente fallará en la validación de restricciones. Cuando tanto el valor mínimo como el máximo están establecidos, el valor mínimo debe ser una hora igual o anterior al valor máximo.

  • Para setMax(): Si el valor ingresado en el componente es posterior a la hora máxima especificada, el componente fallará en la validación de restricciones. Cuando tanto el valor mínimo como el máximo están establecidos, el valor máximo debe ser una hora igual o posterior al valor mínimo.

Manejo de valores y localización

Internamente, el componente TimeField representa su valor utilizando un objeto LocalTime del paquete java.time. Esto permite a los desarrolladores interactuar con valores de tiempo precisos sin importar cómo se representen visualmente.

Mientras que el componente del lado del cliente muestra la hora utilizando la configuración regional del navegador del usuario, el formato parseado y almacenado siempre está estandarizado como HH:mm:ss.

Si se establece un valor de cadena crudo, utiliza el método setText() con cuidado:

timeField.setText("09:15:00"); // válido
advertencia

Al usar el método setText(), se lanzará una IllegalArgumentException si el componente no puede analizar la entrada en el formato HH:mm:ss.

Interfaz de Selector

La apariencia de la interfaz de entrada del selector de tiempo depende no solo de la configuración regional seleccionada, sino también del navegador y sistema operativo que se estén utilizando. Esto asegura una consistencia automática con la interfaz que los usuarios ya conocen.

Utilidades estáticas

La clase TimeField también proporciona los siguientes métodos de utilidad estáticos:

  • fromTime(String timeAsString): Convierte una cadena de tiempo en formato HH:mm:ss a un objeto LocalTime que luego puede ser utilizado con esta clase, o en otros lugares.

  • toTime(LocalTime time): Convierte un LocalTime a una cadena de tiempo en formato HH:mm:ss.

  • isValidTime(String timeAsString): Verifica si la cadena dada es una hora válida en HH:mm:ss. Esto retornará un valor booleano verdadero si es así, falso de lo contrario.

Mejores prácticas

  • Proporcionar Ejemplos Claros del Formato de Hora: Muestra claramente a los usuarios el formato de hora esperado cerca del TimeField. Usa ejemplos o marcadores de posición para ayudarles a ingresar la hora correctamente. Si es posible, muestra el formato de hora basado en la ubicación del usuario.

  • Accesibilidad: Utiliza el componente TimeField con la accesibilidad en mente, asegurando que cumpla con los estándares de accesibilidad como proporcionar etiquetas adecuadas, contraste de color suficiente y compatibilidad con tecnologías asistivas.

  • Opción de Reinicio: Proporciona una forma para que los usuarios puedan limpiar fácilmente el TimeField a un estado vacío o predeterminado.