Перейти к содержанию

MutableStyle

Fluent-сборщик изменяемого стиля с типизированными свойствами и override-ами состояний.

Обзор

MutableStyle проверяет каждое ненулевое значение по типу его StyleKey и ведёт версию для инвалидации кэшей. Значения без состояния относятся к NORMAL; перегрузка с состоянием создаёт override для hover, press, selection, disabled и других состояний. Карты из values() — неизменяемые снимки.

Цвета для разных состояний

Style buttonStyle = new MutableStyle()
        .put(StyleKeys.BACKGROUND_COLOR, normalColor)
        .put(StyleKeys.BACKGROUND_COLOR, WidgetState.HOVERED, hoverColor)
        .put(StyleKeys.TEXT_COLOR, textColor);

API

Свойства

Метод Описание
put(StyleKey, Object) Сохраняет типизированное свойство для состояния NORMAL.
put(StyleKey, WidgetState, Object) Сохраняет типизированный override свойства для одного состояния.

MutableStyle::put(StyleKey, Object)

put(StyleKey, T)

Сохраняет типизированное свойство для состояния NORMAL.

Параметр Тип Описание
key StyleKey Типизированный ключ стиля.
value Object Значение свойства или null; ненулевое значение должно соответствовать типу ключа.

Возвращает MutableStyle: Тот же изменяемый стиль для fluent-конфигурации.

Исключения:

  • IllegalArgumentException: Значение не соответствует Java-типу, объявленному ключом.

MutableStyle::put(StyleKey, WidgetState, Object)

put(StyleKey, WidgetState, T)

Сохраняет типизированный override свойства для одного состояния.

Параметр Тип Описание
key StyleKey Типизированный ключ стиля.
state WidgetState Состояние, которому принадлежит override; не может быть null.
value Object Значение свойства или null; ненулевое значение должно соответствовать типу ключа.

Возвращает MutableStyle: Тот же изменяемый стиль для fluent-конфигурации.

Исключения:

  • IllegalArgumentException: Значение не соответствует Java-типу, объявленному ключом.

Композиция

Метод Описание
putAll(Style) Копирует значения NORMAL и отдельных состояний из другого стиля.

MutableStyle::putAll(Style)

putAll(Style)

Копирует значения NORMAL и отдельных состояний из другого стиля.

Параметр Тип Описание
source Style Исходный стиль; null и Style.EMPTY игнорируются.

Возвращает MutableStyle: Тот же изменяемый стиль для fluent-конфигурации.

Переопределение renderer-а

Метод Описание
rendererId(String) Выбирает пользовательский renderer виджета по id из реестра.

MutableStyle::rendererId(String)

rendererId(String)

Выбирает пользовательский renderer виджета по id из реестра.

Параметр Тип Описание
rendererId String Стабильный id из WidgetRenderRegistry; null очищает значение.

Возвращает MutableStyle: Тот же изменяемый стиль для fluent-конфигурации.