|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.text.JTextComponent
public abstract class JTextComponent
JTextComponent
是 swing 文本组件的基类。它会试着与 java.awt.TextComponent
类兼容,并且在此理应如此。还提供其他额外灵活性(不包括可插入 UI 和 bean 支持)服务。有关如何使用此类提供的功能的信息,请参阅《The Java Tutorial》中的 General Rules for Using Text Components 一节。
CaretListener
接口的实现。如果尚未设置自定义插入符,则该 UI 将安装默认插入符。DefaultCaret
会试着弄清会不会导致 JScrollPane
内的文本组件的滚动。DefaultCaret.setUpdatePolicy(int)
方法可以更改默认的插入符行为。
Action
接口使用 TextAction
实现来表示。文本组件支持的命令集合可以使用 getActions()
方法查找。这些操作可以绑定到由按键等激发的键事件上。
Keymap
让应用程序将击键绑定到操作上。为了允许 keymap 在整个多文本组件上共享,它们可以使用扩展 TextAction
的操作。TextAction
可以确定哪个 JTextComponent
最近有或以前有过焦点,并因此成为该操作的执行者(在此情况下,发送到该操作的 ActionEvent
不包含作为其源的目标文本组件)。
input method framework 让文本组件与输入法交互,分隔预处理事件的软件组件,以让用户使用非常有限的几个键盘键输入成千上万个不同的字符。JTextComponent
是该框架的一个活动客户端,因此它可实现与输入法交互的首选用户界面。因此,有些键事件因为受输入法处理而无法到达文本组件,而有些文本输入不是作为键事件而是作为在 InputMethodEvent
内的提交文本到达文本组件的。完整的文本输入是 keyTyped
键事件中的字符和输入法事件中的提交文本的结合。
AWT 侦听器模型让应用程序将事件侦听器附加到组件,以便将事件绑定到操作。Swing 鼓励使用 keymap 替代侦听器,但要通过使用它为侦听器提供获得事件的机会来维护与侦听器的兼容性。
键盘事件和输入法事件通过以下几个阶段进行处理,每个阶段都能使用该事件:
Stage |
KeyEvent |
InputMethodEvent |
---|---|---|
1. | 输入法 | (在此处生成) |
2. | 焦点管理器 | |
3. | 注册的键侦听器 | 注册的输入法侦听器 |
4. | 在 JTextComponent 中的输入法处理 | |
5. | 使用当前 keymap 进行 keymap 处理 | |
6. | 在 JComponent 中进行键盘处理(如加速键、组件导航等) |
要维护与侦听键事件但不知道输入法事件的应用程序的兼容性,在阶段 4 中的输入法处理会提供不处理输入法事件的组件的兼容性模式。对于这些组件,可将提交文本转换为 keyTyped 键事件,并在阶段 3 开始的键事件管线中进行处理,而不是在输入法事件管线中处理。
默认情况下,组件将创建一个作为默认 keymap 由所有 JTextComponent 实例共享的 keymap(名为 DEFAULT_KEYMAP)。通常,外观实现将安装一个不同的 keymap,以便把另一个 keymap 中找不到的绑定解析为默认 keymap。该绑定最少包括:
该模型由 Document
接口定义。此模型应提供灵活的文本存储机制,以在编辑过程中跟踪更改,并且可以扩展为更复杂的模型。该模型接口旨在捕获 SGML(用于表示多种内容的系统)提供的表达式功能。每次修改文档都会以 DocumentEvent
形式将更改的详细信息通知给所有观察者,允许视图与模型保持最新。将此事件发送给实现了 DocumentListener
接口且注册为对正在接受观察的模型感兴趣的观察者。
modelToView(int)
和 viewToModel(java.awt.Point)
。
UndoableEdit
记录。该支持由 Document 模型提供,该模型允许用户附加 UndoableEditListener 实现。
AbstractDocument
的文档会描述提供的假定保护。异步调用的安全方法标记为注释。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
Document
,
DocumentEvent
,
DocumentListener
,
Caret
,
CaretEvent
,
CaretListener
,
TextUI
,
View
,
ViewFactory
嵌套类摘要 | |
---|---|
class |
JTextComponent.AccessibleJTextComponent
此类实现 JTextComponent 类的可访问性支持。 |
static class |
JTextComponent.KeyBinding
用于创建键绑定的绑定记录。 |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
static String |
DEFAULT_KEYMAP
将由所有 JTextComponent 实例共享的默认 keymap,除非这些实例已有另一个 keymap 集合。 |
static String |
FOCUS_ACCELERATOR_KEY
焦点加速键的 bound 属性名称。 |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 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 |
构造方法摘要 | |
---|---|
JTextComponent()
创建一个新的 JTextComponent 。 |
方法摘要 | |
---|---|
void |
addCaretListener(CaretListener listener)
添加插入符侦听器,以便侦听任何插入符的更改通知。 |
void |
addInputMethodListener(InputMethodListener l)
添加指定的输入方法侦听器,接收此组件发出的输入方法事件。 |
static Keymap |
addKeymap(String nm,
Keymap parent)
将一个新 keymap 添加到 keymap 层次结构。 |
void |
copy()
将关联文本模型中当前选定的范围传输到系统剪贴板,并在文本模型中保留内容。 |
void |
cut()
将关联文本模型中当前选定的范围传输到系统剪贴板,并从模型中移除内容。 |
protected void |
fireCaretUpdate(CaretEvent e)
通知已注册对获得此事件类型通知感兴趣的所有侦听器。 |
AccessibleContext |
getAccessibleContext()
获取与此 JTextComponent 关联的 AccessibleContext 。 |
Action[] |
getActions()
获取编辑器的命令列表。 |
Caret |
getCaret()
获取允许在视图上进行面向文本导航的插入符。 |
Color |
getCaretColor()
获取用于呈现插入符的当前颜色。 |
CaretListener[] |
getCaretListeners()
返回在此文本组件上已注册的所有插入符侦听器的数组。 |
int |
getCaretPosition()
返回文本组件的文本插入符的位置。 |
Color |
getDisabledTextColor()
获取用于呈现选定文本的当前颜色。 |
Document |
getDocument()
获取与编辑器关联的模型。 |
boolean |
getDragEnabled()
获取 dragEnabled 属性。 |
char |
getFocusAccelerator()
返回将导致接收文本组件获取焦点的加速键。 |
Highlighter |
getHighlighter()
获取负责进行突出显示的对象。 |
InputMethodRequests |
getInputMethodRequests()
获得输入方法请求处理程序,该处理程序支持此组件输入方法发出的请求。 |
Keymap |
getKeymap()
获取当前在此文本组件中活动的 keymap。 |
static Keymap |
getKeymap(String nm)
获取以前添加到文档中的已命名 keymap。 |
Insets |
getMargin()
返回文本组件的边框和它的文本之间的空白。 |
NavigationFilter |
getNavigationFilter()
返回 NavigationFilter 。 |
Dimension |
getPreferredScrollableViewportSize()
返回视图组件视口的首选大小。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个行块或列块。 |
boolean |
getScrollableTracksViewportHeight()
如果视口总是强制此 Scrollable 的高度与视口高度匹配,则返回 true。 |
boolean |
getScrollableTracksViewportWidth()
如果视口总是强制此 Scrollable 的宽度与视口宽度匹配,则返回 true。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个新的行或列。 |
String |
getSelectedText()
返回此 TextComponent 中包含的选定文本。 |
Color |
getSelectedTextColor()
获取用于呈现选定文本的当前颜色。 |
Color |
getSelectionColor()
获取用于呈现选定的当前颜色。 |
int |
getSelectionEnd()
返回选定文本的结束位置。 |
int |
getSelectionStart()
返回选定文本的起始位置。 |
String |
getText()
返回此 TextComponent 中包含的文本。 |
String |
getText(int offs,
int len)
获取由组件表示的文本部分。 |
String |
getToolTipText(MouseEvent event)
返回用作 event 的工具提示的字符串。 |
TextUI |
getUI()
获取此面向文本的编辑器的用户界面工厂。 |
boolean |
isEditable()
返回指示此 TextComponent 是否可编辑的 boolean。 |
static void |
loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions)
加载带有一组绑定的 keymap。 |
Rectangle |
modelToView(int pos)
将模型中给定位置转换为视图坐标系统中的位置。 |
void |
moveCaretPosition(int pos)
将插入符移动到新的位置,同时保留最后一次调用 setCaretPosition 之前定义的标记。 |
protected String |
paramString()
返回此 JTextComponent 的字符串表示形式。 |
void |
paste()
将系统剪贴板的内容传输到关联的文本模型中。 |
protected void |
processInputMethodEvent(InputMethodEvent e)
处理组件上发生的输入方法事件,方法是将其指派到任意已注册的 InputMethodListener 对象。 |
void |
read(Reader in,
Object desc)
根据流进行初始化。 |
void |
removeCaretListener(CaretListener listener)
移除插入符侦听器。 |
static Keymap |
removeKeymap(String nm)
移除以前添加到文档中的已命名 keymap。 |
void |
removeNotify()
通知此组件它不再有父组件。 |
void |
replaceSelection(String content)
用给定字符串所表示的新内容替换当前选定的内容。 |
void |
select(int selectionStart,
int selectionEnd)
选定指定的起始和结束位置之间的文本。 |
void |
selectAll()
选择 TextComponent 中的所有文本。 |
void |
setCaret(Caret c)
设置要使用的插入符。 |
void |
setCaretColor(Color c)
设置用于呈现插入符的当前颜色。 |
void |
setCaretPosition(int position)
设置 TextComponent 的文本插入符的位置。 |
void |
setComponentOrientation(ComponentOrientation o)
设置语言敏感的方向,用于排序此组件内的元素或文本。 |
void |
setDisabledTextColor(Color c)
设置用于呈现禁用文本的当前颜色。 |
void |
setDocument(Document doc)
将编辑器与文本文档关联。 |
void |
setDragEnabled(boolean b)
设置 dragEnabled 属性,该属性必须为 true 才能确保启用对此组件的自动拖动处理(拖放操作的第一部分)。 |
void |
setEditable(boolean b)
设置指定的 boolean 变量,以指示此 TextComponent 是否应该为可编辑的。 |
void |
setFocusAccelerator(char aKey)
设置将导致接收的文本组件获取焦点的加速键。 |
void |
setHighlighter(Highlighter h)
设置要使用的轮廓色。 |
void |
setKeymap(Keymap map)
设置用于将事件绑定到操作的 keymap。 |
void |
setMargin(Insets m)
设置组件的边框和它的文本之间的空白。 |
void |
setNavigationFilter(NavigationFilter filter)
设置 NavigationFilter 。 |
void |
setSelectedTextColor(Color c)
设置用于呈现选定文本的当前颜色。 |
void |
setSelectionColor(Color c)
设置用于呈现选定的当前颜色。 |
void |
setSelectionEnd(int selectionEnd)
将选择结束点设置为指定的位置。 |
void |
setSelectionStart(int selectionStart)
将选定起始点设置为指定的位置。 |
void |
setText(String t)
将此 TextComponent 文本设置为指定文本。 |
void |
setUI(TextUI ui)
设置此面向文本的编辑器的用户界面工厂。 |
void |
updateUI()
重新加载可插入的 UI。 |
int |
viewToModel(Point pt)
将视图坐标系统中的给定位置转换为模型中最具代表性的位置。 |
void |
write(Writer out)
将模型的内容存储到给定的流中。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final String FOCUS_ACCELERATOR_KEY
public static final String DEFAULT_KEYMAP
JTextComponent
实例共享的默认 keymap,除非这些实例已有另一个 keymap 集合。
构造方法详细信息 |
---|
public JTextComponent()
JTextComponent
。建立插入符事件的侦听器,并安装可插入的 UI。将组件标记为可编辑状态。不使用任何布局管理器,因为布局受文本的视图子系统管理。文档模型被设置为 null
。
方法详细信息 |
---|
public TextUI getUI()
public void setUI(TextUI ui)
ui
- 工厂public void updateUI()
getUIClassID()
。该 UI 的类型是 TextUI
。设置该 UI 之后调用 invalidate
。
JComponent
中的 updateUI
public void addCaretListener(CaretListener listener)
listener
- 要添加的侦听器CaretEvent
public void removeCaretListener(CaretListener listener)
listener
- 要移除的侦听器CaretEvent
public CaretListener[] getCaretListeners()
CaretListener
;如果当前没有注册任何插入符侦听器,则返回一个空数组addCaretListener(javax.swing.event.CaretListener)
,
removeCaretListener(javax.swing.event.CaretListener)
protected void fireCaretUpdate(CaretEvent e)
e
- 事件EventListenerList
public void setDocument(Document doc)
doc
- 要显示/编辑的文档getDocument()
public Document getDocument()
public void setComponentOrientation(ComponentOrientation o)
Component
复制的描述LayoutManager
和 Component
子类使用此属性来确定如何布局并绘制组件。
在构造时,组件的方向设置为 ComponentOrientation.UNKNOWN
,表示尚未显式地指定它。UNKNOWN 方向的行为与 ComponentOrientation.LEFT_TO_RIGHT
相同。
要设置单个组件的方向,请使用此方法。要设置整个组件层次结构的方向,请使用 applyComponentOrientation
。
Component
中的 setComponentOrientation
ComponentOrientation
public Action[] getActions()
public void setMargin(Insets m)
Border
对象将使用此值创建适当的空白。不过,如果在文本组件上设置非默认边框,则由 Border
对象负责创建适当的空白(其他情况下实际上忽略此属性)。这会导致重绘该组件。PropertyChange 事件 ("margin") 被发送到所有侦听器。
m
- 边框和文本之间的空间public Insets getMargin()
public void setNavigationFilter(NavigationFilter filter)
NavigationFilter
。NavigationFilter
作为一种限制光标移动的方式由 DefaultCaret
和默认光标移动操作使用。
public NavigationFilter getNavigationFilter()
NavigationFilter
。NavigationFilter
作为一种限制光标移动的方式由 DefaultCaret
和默认光标移动操作使用。null 返回值意味着光标移动和选择不受限制。
public Caret getCaret()
public void setCaret(Caret c)
c
- 插入符getCaret()
public Highlighter getHighlighter()
public void setHighlighter(Highlighter h)
null
,以禁用它。安装新轮廓色时,将激发一个 PropertyChange 事件 ("highlighter")。
h
- 轮廓色getHighlighter()
public void setKeymap(Keymap map)
null
可有效地禁用键盘输入。安装新 keymap 时将激发一个 PropertyChange 事件 ("keymap")。
map
- keymapgetKeymap()
public void setDragEnabled(boolean b)
dragEnabled
属性,该属性必须为 true
才能确保启用对此组件的自动拖动处理(拖放操作的第一部分)。需要将 transferHandler
属性设置为非 null
值,以便拖动执行操作。dragEnabled
属性的默认值为 false
。
当启用自动化拖动处理时,只要用户在选择上按住鼠标按钮,并将鼠标移动几个像素,多数外观就会开始拖放操作。因此,将此属性设置为 true
可以对选择行为产生微妙的影响。
有些外观可能不支持自动拖放;它们将忽略此属性。可以通过修改该组件直接调用 TransferHandler
的 exportAsDrag
方法来解决此类外观。
b
- 设置 dragEnabled
属性的值
HeadlessException
- 如果 b
为 true
,并且 GraphicsEnvironment.isHeadless()
返回 true
GraphicsEnvironment.isHeadless()
,
getDragEnabled()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public boolean getDragEnabled()
dragEnabled
属性。
dragEnabled
属性的值setDragEnabled(boolean)
public Keymap getKeymap()
public static Keymap addKeymap(String nm, Keymap parent)
nm
- keymap 的名称(必须为文档中命名的 keymap 集合中惟一的一个);如果 keymap 是未命名的,则该名称可以为 null
,但调用者负责管理返回的引用,因为未命名的 keymap 无法按名称获取parent
- 父级 keymap;如果未指定的绑定不需要在其他某个 keymap 中解析,则此 keymap 可以为 null
public static Keymap removeKeymap(String nm)
null
名称的 Keymap 可以不以此方式移除。
nm
- 要移除的 keymap 的名称
public static Keymap getKeymap(String nm)
null
命名的 keymap 一起使用。
nm
- keymap 的名称
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
加载带有一组绑定的 keymap。这可用于取得一个静态定义表,并将它们加载到某个 keymap 中。以下示例说明了将一些键绑定到与 JTextComponent 关联的剪切、复制和粘贴操作。完成此操作的代码片段可能与以下形式一样:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
绑定和操作的集合可以为空,但必须为非 null
。
map
- keymapbindings
- 绑定actions
- 操作集合public Color getCaretColor()
public void setCaretColor(Color c)
null
可有效地还原默认颜色。设置颜色会导致激发一个 PropertyChange 事件 ("caretColor")。
c
- 颜色getCaretColor()
public Color getSelectionColor()
public void setSelectionColor(Color c)
null
的方法与设置 Color.white
的方法相同。设置颜色会导致一个 PropertyChange 事件 ("selectionColor")。
c
- 颜色getSelectionColor()
public Color getSelectedTextColor()
public void setSelectedTextColor(Color c)
null
的方法与设置 Color.black
的方法相同。设置颜色会导致激发一个 PropertyChange 事件 ("selectedTextColor")。
c
- 颜色getSelectedTextColor()
public Color getDisabledTextColor()
public void setDisabledTextColor(Color c)
c
- 颜色getDisabledTextColor()
public void replaceSelection(String content)
这是插入内容操作的默认实现使用的一种方法,该操作绑定了 keymap 操作。
虽然大多数 Swing 方法不是线程安全的,但此方法是线程安全的。有关更多信息,请参阅 Threads and Swing。
content
- 要替换选定内容的内容public String getText(int offs, int len) throws BadLocationException
offs
- 偏移量,该值 >= 0len
- 长度,该值 >= 0
BadLocationException
- 如果偏移量或长度无效public Rectangle modelToView(int pos) throws BadLocationException
pos
- 位置,该值 >= 0
BadLocationException
- 如果给定位置不表示关联文档中的有效位置TextUI.modelToView(javax.swing.text.JTextComponent, int)
public int viewToModel(Point pt)
pt
- 视图中要转换的位置
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
public void cut()
null
选定不执行任何操作。
public void copy()
null
选定不执行任何操作。
public void paste()
public void moveCaretPosition(int pos)
setCaretPosition
之前定义的标记。这就构成了一个选定。如果文档为 null
,则不执行任何操作。位置必须在 0 和组件的文本长度之间,否则将抛出异常。
pos
- 位置
IllegalArgumentException
- 如果 position
提供的值小于 0 或大于组件的文本长度setCaretPosition(int)
public void setFocusAccelerator(char aKey)
aKey
- 键getFocusAccelerator()
public char getFocusAccelerator()
public void read(Reader in, Object desc) throws IOException
in
- 从中读取的流desc
- 描述流的对象;此对象可以是一个字符串、一个 File、一个 URL 等。有些种类的文档(如 html)或许能够使用此信息;如果为非 null
,则将其作为文档的属性添加
IOException
- 如果使用该流初始化EditorKit.createDefaultDocument()
,
setDocument(javax.swing.text.Document)
,
PlainDocument
public void write(Writer out) throws IOException
out
- 输出流
IOException
- 如果发生任何 I/O 错误public void removeNotify()
JComponent
复制的描述KeyboardAction
。
JComponent
中的 removeNotify
public void setCaretPosition(int position)
TextComponent
的文本插入符的位置。注意,插入符可跟踪更改,所以如果组件的基础文本被更改,则此位置可能会移动。如果文档为 null
,则不执行任何操作。位置必须在 0 和组件的文本长度之间,否则将抛出异常。
position
- 位置
IllegalArgumentException
- 如果 position
提供的值小于 0 或大于组件的文本长度public int getCaretPosition()
public void setText(String t)
TextComponent
文本设置为指定文本。如果该文本为 null
或空,则具有只删除旧文本的效果。插入文本时,得到的插入符的位置由该插入符类的实现确定。
虽然大多数 Swing 方法不是线程安全的,但此方法是线程安全的。有关更多信息,请参阅 Threads and Swing。
注意,文本不是 bound 属性,所以更改时不激发 PropertyChangeEvent
。要侦听文本的更改,请使用 DocumentListener
。
t
- 要设置的新文本getText(int, int)
,
DefaultCaret
public String getText()
TextComponent
中包含的文本。如果基础文档为 null
,则将给出 NullPointerException
。注意,文本不是 bound 属性,所以更改时不激发 PropertyChangeEvent
。要侦听文本的更改,请使用 DocumentListener
。
NullPointerException
- 如果文档为 null
setText(java.lang.String)
public String getSelectedText()
TextComponent
中包含的选定文本。如果选定为 null
或文档为空,则返回 null
。
IllegalArgumentException
- 如果由于某种原因选定没有到文档的有效映射setText(java.lang.String)
public boolean isEditable()
TextComponent
是否可编辑的 boolean。
setEditable(boolean)
public void setEditable(boolean b)
TextComponent
是否应该为可编辑的。当状态更改时,将激发 PropertyChange 事件("editable")。
b
- 要设置的 booleanisEditable()
public int getSelectionStart()
public void setSelectionStart(int selectionStart)
这可用于在 java.awt.TextComponent
上调用此方法的代码向后兼容。实现此方法以转发 Caret
实现,后者是维护实际选定的位置。
selectionStart
- 文本的起始位置,该值 >= 0public int getSelectionEnd()
public void setSelectionEnd(int selectionEnd)
这可用于在 java.awt.TextComponent
上调用此方法的代码向后兼容。实现此方法以转发 Caret
实现,后者是维护实际选定的位置。
selectionEnd
- 文本的结束位置,该值 >= 0public void select(int selectionStart, int selectionEnd)
此方法设置选定文本的开始位置和结束位置,并强行限制开始位置必须大于或等于零。结束位置必须大于或等于开始位置,并小于或等于文本组件的文本长度。
如果调用方提供不一致或超出限度的值,则该方法暗中实施这些限制,并且不会失败。要特别指出的是,如果开始位置或结束位置大于文本长度,则将它重置为等于文本长度。如果开始位置小于零,则将它重置为零,如果结束位置小于开始位置,则将它重置为开始位置。
此调用是为向后兼容性提供的。将其作为调用 setCaretPosition
的途径,接着再调用 moveCaretPosition
。管理选定的首选方法是直接调用这些方法。
selectionStart
- 文本的起始位置selectionEnd
- 文本的结束位置setCaretPosition(int)
,
moveCaretPosition(int)
public void selectAll()
TextComponent
中的所有文本。在 null
或空文档上不执行任何操作。
public String getToolTipText(MouseEvent event)
event
的工具提示的字符串。这将返回以下内容之一:
setToolTipText
已使用非 null
值调用,则它将被返回;否则
getToolTipText
的值将被返回。
JTextComponent
不使用 ToolTipManager
注册它本身。这意味着只有已在 ToolTipManager
上调用了 registerComponent
工具提示才在 TextUI
上显示。
JComponent
中的 getToolTipText
event
- 关联事件
event
的工具提示的字符串JComponent.setToolTipText(java.lang.String)
,
TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point)
,
ToolTipManager.registerComponent(javax.swing.JComponent)
public Dimension getPreferredScrollableViewportSize()
Scrollable
中的 getPreferredScrollableViewportSize
Scrollable
的 JViewport
的 preferredSize
JComponent.getPreferredSize()
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
此操作的默认实现是只返回可视区域的 10%。子类或许能够提供一个更加合理的值。
Scrollable
中的 getScrollableUnitIncrement
visibleRect
- 视口中可见的视图区域orientation
- SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
direction
- 小于零向上/左滚动,大于零向下/右滚动
IllegalArgumentException
- 如果方向无效JScrollBar.setUnitIncrement(int)
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
此操作的默认实现是只返回可视区域。子类将或许能够提供一个更加合理的值。
Scrollable
中的 getScrollableBlockIncrement
visibleRect
- 视口中可见的视图区域orientation
- SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
direction
- 小于零向上/左滚动,大于零向下/右滚动
JScrollBar.setBlockIncrement(int)
public boolean getScrollableTracksViewportWidth()
Scrollable
的宽度与视口宽度匹配,则返回 true。例如,支持换行的正常文本显示在这里将返回 true,因为不希望让换行内容超出视口右边界而无法显示。注意,其祖先为 JScrollPane
的 Scrollable
返回 true 可有效地禁用水平滚动。
类似于 JViewport
的滚动容器在每次进行验证时都将使用此方法。
Scrollable
中的 getScrollableTracksViewportWidth
Scrollable
宽度与其自身宽度相匹配,则返回 truepublic boolean getScrollableTracksViewportHeight()
Scrollable
的高度与视口高度匹配,则返回 true。例如,纵行文本视图(按列从左向右流入文本)通过在此处返回 true 可有效地禁用垂直滚动。
类似于 JViewport
的滚动容器在每次进行验证时都将使用此方法。
Scrollable
中的 getScrollableTracksViewportHeight
public AccessibleContext getAccessibleContext()
JTextComponent
关联的 AccessibleContext
。对于文本组件,AccessibleContext
采用 AccessibleJTextComponent
的形式。如有必要,可以创建一个新的 AccessibleJTextComponent
实例。
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
JTextComponent
的 AccessibleContext
的 AccessibleJTextComponent
protected String paramString()
JTextComponent
的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null
。
重写 paramString
来提供有关 JFC 组件的一些特定新方面的信息。
JComponent
中的 paramString
JTextComponent
的字符串表示形式protected void processInputMethodEvent(InputMethodEvent e)
Component
复制的描述InputMethodListener
对象。
如果组件上没有启用输入方法事件,则不调用此方法。发生下列之一时启用输入方法事件:
addInputMethodListener
注册了一个 InputMethodListener
对象。
enableEvents
启用了输入方法事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
Component
中的 processInputMethodEvent
public InputMethodRequests getInputMethodRequests()
Component
复制的描述InputMethodRequests
实例。同时,还必须处理输入方法事件。
Component
中的 getInputMethodRequests
null
Component.addInputMethodListener(java.awt.event.InputMethodListener)
public void addInputMethodListener(InputMethodListener l)
Component
复制的描述getInputMethodRequests
并返回一个 InputMethodRequests
实例,则该组件只接收输入方法所发出的输入方法事件。如果侦听器 l
为 null
,则不会抛出异常并且不执行操作。
Component
中的 addInputMethodListener
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。