Module java.desktop
Package java.beans

Class PropertyDescriptor

java.lang.Object
java.beans.FeatureDescriptor
java.beans.PropertyDescriptor
直接已知的子类:
IndexedPropertyDescriptor

public class PropertyDescriptor extends FeatureDescriptor
PropertyDescriptor描述了Java Bean通过一对访问器方法导出的一个属性。
自1.1版本起:
1.1
  • Constructor Details

    • PropertyDescriptor

      public PropertyDescriptor(String propertyName, Class<?> beanClass) throws IntrospectionException
      为遵循标准Java约定的具有getFoo和setFoo访问器方法的属性构造一个PropertyDescriptor。因此,如果参数名称为“fred”,它将假定写入方法为“setFred”,读取方法为“getFred”(对于布尔属性为“isFred”)。请注意,属性名称应以小写字符开头,这将在方法名称中大写。
      参数:
      propertyName - 属性的程序名称。
      beanClass - 目标bean的Class对象。例如sun.beans.OurButton.class。
      抛出:
      IntrospectionException - 如果在内省期间发生异常。
    • PropertyDescriptor

      public PropertyDescriptor(String propertyName, Class<?> beanClass, String readMethodName, String writeMethodName) throws IntrospectionException
      此构造函数接受一个简单属性的名称,以及用于读取和写入属性的方法名称。
      参数:
      propertyName - 属性的程序名称。
      beanClass - 目标bean的Class对象。例如sun.beans.OurButton.class。
      readMethodName - 用于读取属性值的方法名称。如果属性是只写的,则可能为null。
      writeMethodName - 用于写入属性值的方法名称。如果属性是只读的,则可能为null。
      抛出:
      IntrospectionException - 如果在内省期间发生异常。
    • PropertyDescriptor

      public PropertyDescriptor(String propertyName, Method readMethod, Method writeMethod) throws IntrospectionException
      此构造函数接受一个简单属性的名称,以及用于读取和写入属性的Method对象。
      参数:
      propertyName - 属性的程序名称。
      readMethod - 用于读取属性值的方法。如果属性是只写的,则可能为null。
      writeMethod - 用于写入属性值的方法。如果属性是只读的,则可能为null。
      抛出:
      IntrospectionException - 如果在内省期间发生异常。
  • Method Details

    • getPropertyType

      public Class<?> getPropertyType()
      返回属性的Java类型信息。请注意,Class对象可能描述原始Java类型,如int。此类型由读取方法返回,或者用作写入方法的参数类型。如果类型是不支持非索引访问的索引属性,则返回null
      返回:
      表示Java类型信息的Class对象,如果无法确定类型,则返回null
    • getReadMethod

      public Method getReadMethod()
      获取应用于读取属性值的方法。
      返回:
      应用于读取属性值的方法。如果无法读取属性,则可能返回null。
    • setReadMethod

      public void setReadMethod(Method readMethod) throws IntrospectionException
      设置应用于读取属性值的方法。
      参数:
      readMethod - 新的读取方法。
      抛出:
      IntrospectionException - 如果读取方法无效
      自1.2版本起:
      1.2
    • getWriteMethod

      public Method getWriteMethod()
      获取应用于写入属性值的方法。
      返回:
      应用于写入属性值的方法。如果无法写入属性,则可能返回null。
    • setWriteMethod

      public void setWriteMethod(Method writeMethod) throws IntrospectionException
      设置应用于写入属性值的方法。
      参数:
      writeMethod - 新的写入方法。
      抛出:
      IntrospectionException - 如果写入方法无效
      自1.2版本起:
      1.2
    • isBound

      public boolean isBound()
      对“bound”属性的更新将在更改属性时触发“PropertyChange”事件。
      返回:
      如果这是一个bound属性,则为true。
    • setBound

      public void setBound(boolean bound)
      对“bound”属性的更新将在更改属性时触发“PropertyChange”事件。
      参数:
      bound - 如果这是一个bound属性,则为true。
    • isConstrained

      public boolean isConstrained()
      尝试对“Constrained”属性进行的更新将在更改属性时触发“VetoableChange”事件。
      返回:
      如果这是一个constrained属性,则为true。
    • setConstrained

      public void setConstrained(boolean constrained)
      尝试对“Constrained”属性进行的更新将在更改属性时触发“VetoableChange”事件。
      参数:
      constrained - 如果这是一个constrained属性,则为true。
    • setPropertyEditorClass

      public void setPropertyEditorClass(Class<?> propertyEditorClass)
      通常,PropertyEditors将使用PropertyEditorManager找到。但是,如果出于某种原因您想将特定PropertyEditor与给定属性关联起来,那么可以使用此方法。
      参数:
      propertyEditorClass - 所需PropertyEditor的Class。
    • getPropertyEditorClass

      public Class<?> getPropertyEditorClass()
      获取为此属性注册的任何显式PropertyEditor类。
      返回:
      为此属性注册的任何显式PropertyEditor类。通常,这将返回“null”,表示未注册任何特殊编辑器,因此应使用PropertyEditorManager来查找合适的PropertyEditor。
    • createPropertyEditor

      public PropertyEditor createPropertyEditor(Object bean)
      使用当前属性编辑器类构造属性编辑器的实例。

      如果属性编辑器类具有接受Object参数的公共构造函数,则将使用bean参数调用它。否则,将调用默认构造函数。

      参数:
      bean - 源对象
      返回:
      属性编辑器实例,如果未定义属性编辑器或无法创建,则返回null
      自1.5版本起:
      1.5
    • equals

      public boolean equals(Object obj)
      将此PropertyDescriptor与指定对象进行比较。如果对象相同,则返回true。如果读取、写入、属性类型、属性编辑器和标志等等都是等效的,则两个PropertyDescriptor是相同的。
      覆盖:
      equals 在类 Object
      参数:
      obj - 要比较的引用对象。
      返回:
      如果此对象与obj参数相同,则为true;否则为false
      自1.4版本起:
      1.4
      参见:
    • hashCode

      public int hashCode()
      返回对象的哈希码值。有关完整描述,请参阅Object.hashCode()
      覆盖:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      自1.5版本起:
      1.5
      参见: