Module java.desktop
Package javax.swing

Interface UIDefaults.LazyValue

所有已知的实现类:
UIDefaults.LazyInputMap, UIDefaults.ProxyLazyValue
封装类:
UIDefaults

public static interface UIDefaults.LazyValue
这个类使得可以在默认表中存储一个条目,直到第一次使用getXXX(key)方法查找它时才构造。延迟值对于那些昂贵或很少被检索的默认值非常有用。第一次检索LazyValue时,通过调用LazyValue.createValue()计算其“真实值”,并将真实值用于替换UIDefaults表中的LazyValue。对于相同键的后续查找将返回真实值。以下是一个构造BorderLazyValue的示例:
  Object borderLazyValue = new UIDefaults.LazyValue() {
      public Object createValue(UIDefaults table) {
          return new BorderFactory.createLoweredBevelBorder();
      }
  };

  uiDefaultsTable.put("MyBorder", borderLazyValue);
 
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    创建从UIDefaults表中检索的实际值。
  • Method Details

    • createValue

      Object createValue(UIDefaults table)
      创建从UIDefaults表中检索的实际值。当从表中检索实现此接口的对象时,将使用此方法创建真实值,然后将其存储在表中并返回给调用方法。
      参数:
      table - 一个UIDefaults
      返回:
      创建的Object