JavaTM 2 Platform
Standard Ed. 5.0

java.awt
类 TextComponent

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.TextComponent
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible
直接已知子类:
TextArea, TextField

public class TextComponent
extends Component
implements Accessible

TextComponent 类是允许编辑文本的任何组件的超类。

文本组件具体描述了文本的字符串。TextComponent 类定义了一组判断此文本是否可编辑的方法。如果组件是可编辑的,则该类还定义了另一组支持文件插入符的方法。

此外,该类定义了用于维护当前选择 文本的方法。选择文本是组件文本的子字符串,是编辑操作的目标。它也被称为选定文本

从以下版本开始:
JDK1.0
另请参见:
序列化表格

嵌套类摘要
protected  class TextComponent.AccessibleAWTTextComponent
          此类实现对 TextComponent 类的可访问性支持。
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
protected  TextListener textListener
           
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
方法摘要
 void addNotify()
          通过将此 Component 连接到一个本机屏幕资源,使其成为可显示的。
 void addTextListener(TextListener l)
          添加指定的文本事件侦听器,接收此文本组件发出的文本事件。
 void enableInputMethods(boolean enable)
          启用或禁用此方法的输入方法支持。
 AccessibleContext getAccessibleContext()
          获取与此 TextComponent 相关的 AccessibleContext。
 Color getBackground()
          获得此文本组件的背景色。
 int getCaretPosition()
          返回文本插入符的位置。
 InputMethodRequests getInputMethodRequests()
          获得输入方法请求处理程序,该处理程序支持此组件输入方法发出的请求。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回目前已在此 TextComponent 上注册为 FooListener 的所有对象的数组。
 String getSelectedText()
          返回由此文本组件表示的文本中选定的文本。
 int getSelectionEnd()
          获取此文本组件中选定文本的结束位置。
 int getSelectionStart()
          获取此文本组件中选定文本的开始位置。
 String getText()
          返回此文本组件表示的文本。
 TextListener[] getTextListeners()
          返回在此文本组件上所有已注册文本侦听器的数组。
 boolean isEditable()
          指示此文本组件是否可编辑。
protected  String paramString()
          返回表示此 TextComponent 的状态的字符串。
protected  void processEvent(AWTEvent e)
          处理此文本组件上发生的事件。
protected  void processTextEvent(TextEvent e)
          处理发生在此文本组件上的文本事件,方法是将这些事件指派给所有已注册的 TextListener 对象。
 void removeNotify()
          移除 TextComponent 的同位体。
 void removeTextListener(TextListener l)
          移除指定的文本事件侦听器,不再接收此文本组件发出的文本事件。
 void select(int selectionStart, int selectionEnd)
          选择指定开始位置和结束位置之间的文本。
 void selectAll()
          选择此文本组件中的所有文本。
 void setBackground(Color c)
          设置此文本组件的背景色。
 void setCaretPosition(int position)
          设置文本插入符的位置。
 void setEditable(boolean b)
          设置判断此文本组件是否可编辑的标志。
 void setSelectionEnd(int selectionEnd)
          将此文本组件的选定结束设置为指定位置。
 void setSelectionStart(int selectionStart)
          将此文本组件的选定开始位置设置为指定位置。
 void setText(String t)
          将此文本组件显示的文本设置为指定文本。
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

textListener

protected transient TextListener textListener
方法详细信息

enableInputMethods

public void enableInputMethods(boolean enable)
从类 Component 复制的描述
启用或禁用此方法的输入方法支持。如果启用输入方法支持并且组件也处理按键事件,则将传入的事件提供给当前的输入方法,并且如果输入方法没有使用它们,则仅由组件处理或分派给其侦听器。默认情况下启用输入方法支持。

覆盖:
Component 中的 enableInputMethods
参数:
enable - true 表示启用,false 表示禁用
另请参见:
Component.processKeyEvent(java.awt.event.KeyEvent)

getInputMethodRequests

public InputMethodRequests getInputMethodRequests()
从类 Component 复制的描述
获得输入方法请求处理程序,该处理程序支持此组件输入方法发出的请求。支持当场文本输入的组件必须重写此方法,以便返回一个 InputMethodRequests 实例。同时,还必须处理输入方法事件。

覆盖:
Component 中的 getInputMethodRequests
返回:
组件的输入方法请求处理程序,默认为 null
另请参见:
Component.addInputMethodListener(java.awt.event.InputMethodListener)

addNotify

public void addNotify()
通过将此 Component 连接到一个本机屏幕资源,使其成为可显示的。此方法由工具包内部调用,不应直接由程序调用。

覆盖:
Component 中的 addNotify
另请参见:
removeNotify()

removeNotify

public void removeNotify()
移除 TextComponent 的同位体。该同位体允许我们修改 TextComponent 的外观,而不更改其功能。

覆盖:
Component 中的 removeNotify
另请参见:
Component.isDisplayable(), Component.addNotify()

setText

public void setText(String t)
将此文本组件显示的文本设置为指定文本。

参数:
t - 新文本;如果此参数为 null,则将文本设置为空字符串 ""
另请参见:
getText()

getText

public String getText()
返回此文本组件表示的文本。默认情况下,此文本是一个空字符串。

返回:
TextComponent 的值
另请参见:
setText(java.lang.String)

getSelectedText

public String getSelectedText()
返回由此文本组件表示的文本中选定的文本。

返回:
此文本组件的选定文本
另请参见:
select(int, int)

isEditable

public boolean isEditable()
指示此文本组件是否可编辑。

返回:
如果此文本组件是可编辑的,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
setEditable(boolean)

setEditable

public void setEditable(boolean b)
设置判断此文本组件是否可编辑的标志。

如果将该标志设置为 true,则此文本组件变成用户可编辑的。如果将该标志设置为 false,则用户无法更改此文本组件的文本。默认情况下,不可编辑的文本组件的背景色为 SystemColor.control。通过调用 setBackground 可以重写此默认值。

参数:
b - 指示此文本组件是否是用户可编辑的标志。
从以下版本开始:
JDK1.0
另请参见:
isEditable()

getBackground

public Color getBackground()
获得此文本组件的背景色。默认情况下,不可编辑的文本组件的背景色为 SystemColor.control。通过调用 setBackground 可以重写此默认值。

覆盖:
Component 中的 getBackground
返回:
此文本组件的背景色。如果此文本组件没有背景色,则返回其父组件的背景色。
从以下版本开始:
JDK1.0
另请参见:
setBackground(Color)

setBackground

public void setBackground(Color c)
设置此文本组件的背景色。

覆盖:
Component 中的 setBackground
参数:
c - 成为此文本组件背景色的颜色。如果参数为 null,则此文本组件将继承其父组件的背景色。
从以下版本开始:
JDK1.0
另请参见:
getBackground()

getSelectionStart

public int getSelectionStart()
获取此文本组件中选定文本的开始位置。

返回:
选定文本的开始位置
另请参见:
setSelectionStart(int), getSelectionEnd()

setSelectionStart

public void setSelectionStart(int selectionStart)
将此文本组件的选定开始位置设置为指定位置。新的起始点限制在当前选定结束位置处或之前。并且不能将它设置为小于零,即组件文本的开始处。如果调用方提供的 selectionStart 值超出限度,则该方法暗中实施这些限制,并且不会失败。

参数:
selectionStart - 选定文本的开始位置
从以下版本开始:
JDK1.1
另请参见:
getSelectionStart(), setSelectionEnd(int)

getSelectionEnd

public int getSelectionEnd()
获取此文本组件中选定文本的结束位置。

返回:
选定文本的结束位置
另请参见:
setSelectionEnd(int), getSelectionStart()

setSelectionEnd

public void setSelectionEnd(int selectionEnd)
将此文本组件的选定结束设置为指定位置。新的结束点限制在当前选定开始位置处或之后。并且不能将它设置为超出组件文本末端。如果调用方提供的 selectionEnd 值超出限度,则该方法暗中实施这些限制,并且不会失败。

参数:
selectionEnd - 选定文本的结束位置
从以下版本开始:
JDK1.1
另请参见:
getSelectionEnd(), setSelectionStart(int)

select

public void select(int selectionStart,
                   int selectionEnd)
选择指定开始位置和结束位置之间的文本。

此方法设置选定文本的开始位置和结束位置,并强行限制开始位置必须大于或等于零。结束位置必须大于或等于开始位置,并小于或等于文本组件的文本长度。字符位置的索引是从零开始的。选择文本的长度是 endPosition - startPosition,因此没有选定 endPosition 处的字符。如果选定文本的开始位置和结束位置是相等的,则取消对所有文本的选择。

如果调用方提供不一致或超出限度的值,则该方法暗中实施这些限制,并且不会失败。要特别指出的是,如果开始位置或结束位置大于文本长度,则将它重置为等于文本长度。如果开始位置小于零,则将它重置为零,如果结束位置小于开始位置,则将它重置为开始位置。

参数:
selectionStart - 要被选定的首字符(char 值)的从零开始的索引
selectionEnd - 要被选定的文本的从零开始的结束位置;selectionEnd 处的字符(char 值)未被选定
另请参见:
setSelectionStart(int), setSelectionEnd(int), selectAll()

selectAll

public void selectAll()
选择此文本组件中的所有文本。

另请参见:
select(int, int)

setCaretPosition

public void setCaretPosition(int position)
设置文本插入符的位置。插入符的位置被限制在 0 和文本最后一个字符(包括)之间。如果传入值大于此范围,则将该值设置为最后一个字符(如果 TextComponent 不包含文本,则将该值设置为 0),并且不返回错误。如果传入值小于 0,则抛出 IllegalArgumentException

参数:
position - 文本插入符的位置
抛出:
IllegalArgumentException - 如果 position 小于零
从以下版本开始:
JDK1.1

getCaretPosition

public int getCaretPosition()
返回文本插入符的位置。插入符的位置被限制在 0 和文本最后一个字符(包括)之间。如果没有设置文本或插入符,则默认插入符的位置为 0。

返回:
文本插入符的位置
从以下版本开始:
JDK1.1
另请参见:
setCaretPosition(int)

addTextListener

public void addTextListener(TextListener l)
添加指定的文本事件侦听器,接收此文本组件发出的文本事件。如果 lnull,则不抛出异常,也不执行操作。

参数:
l - 文本事件侦听器
另请参见:
removeTextListener(java.awt.event.TextListener), getTextListeners(), TextListener

removeTextListener

public void removeTextListener(TextListener l)
移除指定的文本事件侦听器,不再接收此文本组件发出的文本事件。如果 lnull,则不抛出异常,也不执行操作。

参数:
l - 文本侦听器
从以下版本开始:
JDK1.1
另请参见:
addTextListener(java.awt.event.TextListener), getTextListeners(), TextListener

getTextListeners

public TextListener[] getTextListeners()
返回在此文本组件上所有已注册文本侦听器的数组。

返回:
文本组件的所有 TextListener,如果当前没有已注册的文本侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addTextListener(java.awt.event.TextListener), removeTextListener(java.awt.event.TextListener)

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回目前已在此 TextComponent 上注册为 FooListener 的所有对象的数组。FooListener 是用 addFooListener 方法注册的。

可以使用 class 字面值来指定 listenerType 参数,如 FooListener.class。例如,可以使用以下代码来查询 TextComponent t 的文本侦听器:

TextListener[] tls = (TextListener[])(t.getListeners(TextListener.class));
如果不存在这样的侦听器,则此方法将返回一个空数组。

覆盖:
Component 中的 getListeners
参数:
listenerType - 所请求的侦听器类型;此参数应该指定一个从 java.util.EventListener 继承的接口
返回:
返回一个在此文本组件上作为 FooListener 注册的所有对象的数组,如果尚未添加这样的侦听器,则返回一个空数组
抛出:
ClassCastException - 如果 listenerType 未指定一个实现 java.util.EventListener 的类或接口
从以下版本开始:
1.3
另请参见:
getTextListeners()

processEvent

protected void processEvent(AWTEvent e)
处理此文本组件上发生的事件。如果该事件是一个 TextEvent,那么它将调用 processTextEvent 方法,否则它将调用其超类的 processEvent

注意,如果事件参数为 null,则未指定行为,并且可能导致异常。

覆盖:
Component 中的 processEvent
参数:
e - 事件
另请参见:
Component.processComponentEvent(java.awt.event.ComponentEvent), Component.processFocusEvent(java.awt.event.FocusEvent), Component.processKeyEvent(java.awt.event.KeyEvent), Component.processMouseEvent(java.awt.event.MouseEvent), Component.processMouseMotionEvent(java.awt.event.MouseEvent), Component.processInputMethodEvent(java.awt.event.InputMethodEvent), Component.processHierarchyEvent(java.awt.event.HierarchyEvent), Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)

processTextEvent

protected void processTextEvent(TextEvent e)
处理发生在此文本组件上的文本事件,方法是将这些事件指派给所有已注册的 TextListener 对象。

注:如果没有对此组件启用文本事件,则不调用此方法。这发生在出现以下情况之一时:

注意,如果事件参数为 null,则未指定行为,并且可能导致异常。

参数:
e - 文本事件
另请参见:
Component.enableEvents(long)

paramString

protected String paramString()
返回表示此 TextComponent 的状态的字符串。此方法仅用于调试目的,对于各个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
Component 中的 paramString
返回:
此文本组件的参数字符串

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 TextComponent 相关的 AccessibleContext。对于文本组件,AccessibleContext 采用 AccessibleAWTTextComponent 的形式。如有必要,可创建一个新的 AccessibleAWTTextComponent 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
Component 中的 getAccessibleContext
返回:
一个 AccessibleAWTTextComponent,它充当此 TextComponent 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 5.0

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

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