Интерфейс 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);
- С версии:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
createValue |
Создаёт фактическое значение, получаемое из таблицы UIDefaults. |
Подробное описание методов
createValue
Object createValue(UIDefaults table)
Создаёт фактическое значение, получаемое из таблицы
UIDefaults. Когда из таблицы извлекается объект, реализующий этот интерфейс, для создания реального значения используется этот метод. Затем значение сохраняется в таблице и возвращается вызывающему методу.- Параметры:
-
table— таблицаUIDefaults - Возвращает:
- созданное
Object
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/UIDefaults.LazyValue.html