Module  java.desktop
软件包  java.beans

Class PropertyDescriptor

  • 已知直接子类:
    IndexedPropertyDescriptor


    public class PropertyDescriptor
    extends FeatureDescriptor
    PropertyDescriptor描述了Java Bean通过一对访问器方法导出的一个属性。
    从以下版本开始:
    1.1
    • 构造方法详细信息

      • PropertyDescriptor

        public PropertyDescriptor​(String propertyName,
                                  Class<?> beanClass)
                           throws IntrospectionException
        通过使用getFoo和setFoo访问器方法,为遵循标准Java约定的属性构造PropertyDescriptor。 因此,如果参数名称为“fred”,则将假定writer方法为“setFred”,reader方法为“getFred”(或“isFred”为布尔属性)。 请注意,属性名称应以小写字符开头,它将在方法名称中大写。
        参数
        propertyName - 属性的编程名称。
        beanClass - 目标bean的Class对象。 例如sun.beans.OurButton.class。
        异常
        IntrospectionException - 如果 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 - 如果 IntrospectionException期间发生异常。
      • PropertyDescriptor

        public PropertyDescriptor​(String propertyName,
                                  方法 readMethod,
                                  方法 writeMethod)
                           throws IntrospectionException
        此构造函数使用简单属性的名称,以及用于读取和写入属性的Method对象。
        参数
        propertyName - 属性的编程名称。
        readMethod - 用于读取属性值的方法。 如果属性是只写的,可能为null。
        writeMethod - 用于写入属性值的方法。 如果属性是只读的,则可以为null。
        异常
        IntrospectionException - 如果 IntrospectionException期间发生异常。
    • 方法详细信息

      • getPropertyType

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

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

        public void setReadMethod​(方法 readMethod)
                           throws IntrospectionException
        设置应用于读取属性值的方法。
        参数
        readMethod - 新的阅读方法。
        异常
        IntrospectionException - 如果读取方法无效
        从以下版本开始:
        1.2
      • getWriteMethod

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

        public void setWriteMethod​(方法 writeMethod)
                            throws IntrospectionException
        设置应用于写入属性值的方法。
        参数
        writeMethod - 新的写入方法。
        异常
        IntrospectionException - 如果写入方法无效
        从以下版本开始:
        1.2
      • isBound

        public boolean isBound​()
        对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。
        结果
        如果这是绑定属性,则为true。
      • setBound

        public void setBound​(boolean bound)
        对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。
        参数
        bound - 如果这是绑定属性, bound真。
      • isConstrained

        public boolean isConstrained​()
        尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。
        结果
        如果这是受限制的属性,则为真。
      • setConstrained

        public void setConstrained​(boolean constrained)
        尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。
        参数
        constrained - 如果这是受限属性, constrained真。
      • setPropertyEditorClass

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

        public Class<?> getPropertyEditorClass​()
        获取已为此属性注册的任何显式PropertyEditor类。
        结果
        任何已经为此属性注册的显式PropertyEditor类。 通常这将返回“null”,表示没有注册特殊编辑器,因此应该使用PropertyEditorManager来找到一个合适的PropertyEditor。
      • createPropertyEditor

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

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

        参数
        bean - 源对象
        结果
        属性编辑器实例,如果属性编辑器尚未定义或无法创建,则为null
        从以下版本开始:
        1.5
      • equals

        public boolean equals​(Object obj)
        将此PropertyDescriptor与指定对象进行比较。 如果对象相同,则返回true。 如果读取,写入,属性类型,属性编辑器和标志等同,则两个PropertyDescriptor是相同的。
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        如果此对象与obj参数相同, true ; 否则为false
        从以下版本开始:
        1.4
        另请参见:
        Object.hashCode()HashMap