当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

接口 java.beans.PropertyEditor

public interface PropertyEditor

PropertyEditor 类提供对 GUI 的支持,该 GUI 允许用户编辑给定类型的特性值。

PropertyEditor 支持各种不同种类的显示和更新特性值的方式。大多数 PropertyEditors 仅需支持该 API 中的不同可用选项子集。

简单的 PropertyEditors 仅可支持 getAsText 和 setAsText 方法,例如它不必支持 paintValue 或 getCustomEditor。更复杂的类型不能支持 getAsText 和 setAsText,但要支持 paintValue 和 getCustomEditor。

每个 propertyEditor 必须支持三种简单显示风格中的一个或多个。因此,它能 (1) 支持 isPaintable, (2) 既能从 getTags() 返回一个非空 String[] 又能从 getAsText 返回一个非空值, (3) 简单地从 getAsText() 返回一个非空字符串。

当参数对象是 propertyEditor 的相应类型时,每个特性编辑器必须支持一个 setValue 的调用。此外,每个特性编辑器必须或者支持一个自定义编辑器或者支持 setAsText。

每个 PropertyEditor 应有一个空构造子。


方法索引

addPropertyChangeListener(PropertyChangeListener)
为 PropertyChange 事件注册一个监听者。
getAsText()
getCustomEditor()
PropertyEditor 可选择编辑其特性值的全部自定义 Component 生效。
getJavaInitializationString()
当生成 Java 代码来设置特性值时,期望使用该方法。
getTags()
若特性值必须是已知标签值集中的一个时,则该方法应返回一个标签数组。
getValue()
isPaintable()
paintValue(Graphics, Rectangle)
将值表示法描绘在屏幕有效空间的一个给定区域。
removePropertyChangeListener(PropertyChangeListener)
删除 PropertyChange 事件的一个监听者。
setAsText(String)
通过分析给定 String 来设置特性值。
setValue(Object)
设置 (或改变) 待编辑的对象。
supportsCustomEditor()

方法

setValue
 public abstract void setValue(Object value)
设置 (或改变) 待编辑的对象。如“int”的内置类型必须打包为相应的对象类型如“java.lang.Integer”。

参数:
value - 待编辑的新目标对象。注意 PropertyEditor 不应改变该对象, 而应由 PropertyEditor 创建新对象来保留任何修改值。
getValue
 public abstract Object getValue()
返回值:
特性值。如“int”的内置类型将打包为相应的对象类型如“java.lang.Integer”。
isPaintable
 public abstract boolean isPaintable()
返回值:
若类支持 paintValue 方法,则为 true。
paintValue
 public abstract void paintValue(Graphics gfx,
                                 Rectangle box)
将值表示描绘在屏幕实际空间的一个给定区域。注意 propertyEditor 负责自身的剪切,以使其适应给定矩形。

若 PropertyEditor 不支持描绘请求 (参见 isPaintable),则该方法应为静态空操作指令。

给定 Graphics 对象将有父类容器的缺省字体、颜色等。PropertyEditor 可改变图形属性,如字体、颜色和不需恢复的旧值。

参数:
gfx - 待描绘的 Graphics 对象。
box - 图形对象中应描绘的矩形。
getJavaInitializationString
 public abstract String getJavaInitializationString()
当生成 Java 代码来设置特性值时,期望使用该方法。它应返回一个 Java 代码段,该编码使用当前特性值初始化一个变量。

示例结果为“2”,“ new Color(127,127,34)”, “Color.orange”等。

返回值:
表示当前值的一个初始表达式的 Java 代码段。
getAsText
 public abstract String getAsText()
返回值:
以用户可编辑字符串表示的特性值。

若该值不能表示为可编辑的字符串,则返回 null 。

若返回非空值,则应该准备 PropertyEditor,用它反向分析 setAsText() 里的字符串。

setAsText
 public abstract void setAsText(String text) throws IllegalArgumentException
通过分析给定 String 来设置特性值。若两种 String 都为错误格式或该类特性不能表示为正文,则可引起 java.lang.IllegalArgumentException 。

参数:
text - 待分析的字符串。
getTags
 public abstract String[] getTags()
若特性值必须是已知标签值集中的一个时,则该方法应返回一个标签数组。 例如能用来表示 enum 值。若 PropertyEditor 支持标签,则应支持用一个标签值作为设置值和使用 getAsText 来识别当前值的方式来使用 setAsText。

返回值:
该特性的标签值。若该特性不能表示为一个加标签的值,则可为 null。
getCustomEditor
 public abstract Component getCustomEditor()
PropertyEditor 可选择编辑其特性值的全部自定义 Component 生效。PropertyEditor 有责任将自身与其编辑器 Component 挂钩,并报告激发 PropertyChange 事件所改变的特性值。

调用 getCustomEditor 的高级代码可将 Component 嵌入到一些较大的特性表中或将其放入自身的个别对话框中。

返回值:
允许人们直接编辑当前特性值的 java.awt.Component 。若不支持,则可为 null 。
supportsCustomEditor
 public abstract boolean supportsCustomEditor()
返回值:
若 propertyEditor 能提供自定义编辑器,则可为 true。
addPropertyChangeListener
 public abstract void addPropertyChangeListener(PropertyChangeListener listener)
为 PropertyChange 事件注册一个监听者。当 PropertyEditor 改变其值时,应激发所有注册的 PropertyChangeListener 上的一个 PropertyChange 事件,为特性名和其自身指定空值作为源值。

参数:
listener - 当某个 PropertyChange 事件被激发时待调用的对象。
removePropertyChangeListener
 public abstract void removePropertyChangeListener(PropertyChangeListener listener)
删除 PropertyChange 事件的一个监听者。

参数:
listener - 待删除的 PropertyChange listener 。

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)