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-конфигурации.