3.5.2.1.48. TimeField

Поле для отображения и ввода времени.

gui timeField

XML-имя компонента: timeField.

  • Для создания поля времени, связанного с данными, необходимо использовать атрибуты dataContainer и property:

    <data>
        <instance id="orderDc" class="com.company.sales.entity.Order" view="_local">
            <loader/>
        </instance>
    </data>
    <layout>
        <timeField dataContainer="orderDc" property="deliveryTime"/>
    </layout>

    Как видно из примера, в экране описывается контейнер данных orderDc для некоторой сущности Заказ (Order), имеющей атрибут deliveryTime. В компоненте ввода времени в атрибуте dataContainer указывается ссылка на контейнер, а в атрибуте property − название атрибута сущности, значение которого должно быть отображено в поле.

    Связанный атрибут сущности должен быть типа java.util.Date или java.sql.Time.

  • Формат отображения времени определяется типом данных time и задается в главном пакете локализованных сообщений в ключе timeFormat.

  • Если поле не связано с атрибутом сущности (то есть не указан контейнер данных и название атрибута), то можно указать тип данных с помощью атрибута datatype. В TimeField используются следующие типы данных:

    • localTime

    • offsetTime

    • time

  • Формат отображения времени можно также задать в атрибуте timeFormat компонента. Это может быть как сама строка формата, так и ключ в пакете сообщений (с префиксом msg://).

  • Независимо от упомянутого выше формата отображением секунд можно управлять с помощью атрибута showSeconds. По умолчанию секунды отображаются, если формат содержит символы ss.

    <timeField dataContainer="orderDc" property="createTs" showSeconds="true"/>
    gui timeFieldSec