Интерфейс UIDefaults.LazyValue
- Все известные реализующие классы:
- UIDefaults.LazyInputMap, UIDefaults.ProxyLazyValue
- Вложенный класс:
- UIDefaults
public static interface UIDefaults.LazyValue
Этот класс позволяет хранить запись в таблице по умолчанию, которая не создаётся до первого обращения к ней с помощью одного из getXXX(key) методов. Ленью значения полезны для значений по умолчанию, которые дорого создать или которые редко извлекаются. В первый раз при получении LazyValue его «реальное значение» вычисляется с помощью вызова LazyValue.createValue(), и реальное значение используется для замены LazyValue в таблице UIDefaults. Последующие запросы для того же ключа возвращают реальное значение. Вот пример LazyValue, который создаёт Border:
Object borderLazyValue = new UIDefaults.LazyValue() {
public Object createValue(UIDefaults table) {
return new BorderFactory.createLoweredBevelBorder();
}
};
uiDefaultsTable.put("MyBorder", borderLazyValue); - См. также:
UIDefaults.get(java.lang.Object)
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Object |
createValue(UIDefaults table) Создаёт фактическое значение, извлекаемое из таблицы |
Методы
createValue
Object createValue(UIDefaults table)
Создаёт фактическое значение, извлекаемое из таблицы UIDefaults. Когда объект, реализующий этот интерфейс, извлекается из таблицы, этот метод используется для создания реального значения, которое затем сохраняется в таблице и возвращается вызывающему методу.
- Параметры:
-
table- таблицаUIDefaults - Возвращает:
- созданное
Object
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.