JavaTM Platform
Standard Ed. 6

java.beans
类 PropertyEditorSupport

java.lang.Object
  继承者 java.beans.PropertyEditorSupport
所有已实现的接口:
PropertyEditor

public class PropertyEditorSupport
     
extends Object
implements PropertyEditor

这是一个帮助构建属性编辑器的支持类。

可以将该类用作一个基类或是一个代理。


构造方法摘要
PropertyEditorSupport()
          构造一个 PropertyEditorSupport 对象。
PropertyEditorSupport(Object source)
          构造一个 PropertyEditorSupport 对象。
 
方法摘要
 void addPropertyChangeListener(PropertyChangeListener listener)
          注册一个用于 PropertyChange 事件的侦听器。
 void firePropertyChange()
          报告已经修改所有感兴趣的侦听器。
 String getAsText()
          获得人类可编辑的适当字符串表示形式的属性值。
 Component getCustomEditor()
          PropertyEditor 可以选择使用完全自定义的 Component 来编辑自己的属性值。
 String getJavaInitializationString()
          生成 Java 代码来设置属性值时使用此方法。
 Object getSource()
          返回用作事件源的 bean。
 String[] getTags()
          如果属性值必须是一组已知的加标记值之一,则此方法应该返回一个标记值数组。
 Object getValue()
          获得属性值。
 boolean isPaintable()
          确定该类是否支持 paintValue 方法。
 void paintValue(Graphics gfx, Rectangle box)
          在屏幕实际状态给定区域中绘制值的表示形式。
 void removePropertyChangeListener(PropertyChangeListener listener)
          移除一个用于 PropertyChange 事件的侦听器。
 void setAsText(String text)
          通过解析给定字符串设置属性值。
 void setSource(Object source)
          设置源 bean。
 void setValue(Object value)
          设置(或更改)将被编辑的对象。
 boolean supportsCustomEditor()
          确定 propertyEditor 是否可以提供自定义编辑器。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

PropertyEditorSupport

public PropertyEditorSupport()
构造一个 PropertyEditorSupport 对象。

从以下版本开始:
1.5

PropertyEditorSupport

public PropertyEditorSupport(Object source)
构造一个 PropertyEditorSupport 对象。

参数:
source - 用来激发事件的源
从以下版本开始:
1.5
方法详细信息

getSource

public Object getSource()
返回用作事件源的 bean。如果没有显式设置源,则返回 PropertyEditorSupport 的此实例。

返回:
源对象或此实例
从以下版本开始:
1.5

setSource

public void setSource(Object source)
设置源 bean。

源 bean 被用作属性更改的事件源。此源应该仅用于获得信息,不应被 PropertyEditor 修改。

参数:
source - 将用于事件的源对象
从以下版本开始:
1.5

setValue

public void setValue(Object value)
设置(或更改)将被编辑的对象。

指定者:
接口 PropertyEditor 中的 setValue
参数:
value - 要编辑的新目标对象。注意,不应由 PropertyEditor 修改此对象,相反 PropertyEditor 应该创建一个新对象来保存所有修改值。

getValue

public Object getValue()
获得属性值。

指定者:
接口 PropertyEditor 中的 getValue
返回:
属性值。

isPaintable

public boolean isPaintable()
确定该类是否支持 paintValue 方法。

指定者:
接口 PropertyEditor 中的 isPaintable
返回:
如果该类支持 paintValue 方法,则返回 true。

paintValue

public void paintValue(Graphics gfx,
                       Rectangle box)
在屏幕实际状态给定区域中绘制值的表示形式。注意,propertyEditor 负责裁剪自身,以适应给定的矩形。

如果 PropertyEditor 不支持绘制请求(参见 isPaintable),则此方法应该是一个静寂的无操作。

指定者:
接口 PropertyEditor 中的 paintValue
参数:
gfx - 要绘制的 Graphics 对象。
box - 应该在其中绘制图形对象的矩形。

getJavaInitializationString

public String getJavaInitializationString()
生成 Java 代码来设置属性值时使用此方法。它应该返回一段可以用来利用当前属性值初始化变量的 Java 代码。

示例结果是 "2"、"new Color(127,127,34)"、"Color.orange" 等等。

指定者:
接口 PropertyEditor 中的 getJavaInitializationString
返回:
表示用于当前值的 initializer 的 Java 代码片段。

getAsText

public String getAsText()
获得人类可编辑的适当字符串表示形式的属性值。

指定者:
接口 PropertyEditor 中的 getAsText
返回:
人类可编辑的适当字符串表示形式的属性值。

如果无法将该值表示为字符串,则返回 "null"。

如果返回的是一个非 null 值,则应该准备好 PropertyEditor,以便回到 setAsText() 解析该字符串。


setAsText

public void setAsText(String text)
               throws IllegalArgumentException
通过解析给定字符串设置属性值。如果该 String 格式出错或者无法将此类属性表示为文本,则可能引发 java.lang.IllegalArgumentException。

指定者:
接口 PropertyEditor 中的 setAsText
参数:
text - 要解析的字符串。
抛出:
IllegalArgumentException

getTags

public String[] getTags()
如果属性值必须是一组已知的加标记值之一,则此方法应该返回一个标记值数组。可以用此方法来表示(例如)枚举值。如果 PropertyEditor 支持标记,则它应该支持使用 setAsText(同时使用标记值)作为设置值的一种方式。

指定者:
接口 PropertyEditor 中的 getTags
返回:
此属性的标记值。如果无法将此属性表示为加标记的值,则返回 null。

getCustomEditor

public Component getCustomEditor()
PropertyEditor 可以选择使用完全自定义的 Component 来编辑自己的属性值。PropertyEditor 负责将其自身与其编辑器 Component 联系起来,并报告由于激发 PropertyChange 事件而造成的属性值更改。

调用 getCustomEditor 的更高级别的代码可以将 Component 嵌入一些较大的属性表,或者将它们放入自己的对话框,或者……

指定者:
接口 PropertyEditor 中的 getCustomEditor
返回:
允许用户直接编辑当前属性值的 java.awt.Component。如果这不受支持,则返回 null。

supportsCustomEditor

public boolean supportsCustomEditor()
确定 propertyEditor 是否可以提供自定义编辑器。

指定者:
接口 PropertyEditor 中的 supportsCustomEditor
返回:
如果 propertyEditor 可以提供一个自定义编辑器,则返回 true。

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
注册一个用于 PropertyChange 事件的侦听器。只要更新该值,该类就会激发一个 PropertyChange 值。

指定者:
接口 PropertyEditor 中的 addPropertyChangeListener
参数:
listener - 激发 PropertyChange 事件时要调用的对象。

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
移除一个用于 PropertyChange 事件的侦听器。

指定者:
接口 PropertyEditor 中的 removePropertyChangeListener
参数:
listener - 要移除的 PropertyChange 侦听器。

firePropertyChange

public void firePropertyChange()
报告已经修改所有感兴趣的侦听器。


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策