public interface InputMethodRequests
文本编辑组件还必须提供一个输入法事件侦听器。
该接口旨在支持两个输入用户界面之一:
Component.getInputMethodRequests()
, InputMethodListener
Modifier and Type | Method and Description |
---|---|
AttributedCharacterIterator |
cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
从文本编辑组件获取最新提交的文本,并将其从组件的文本正文中删除。
|
AttributedCharacterIterator |
getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
获取一个迭代器,提供对文本编辑组件中包含的整个文本和属性的访问,除了未提交的文本。
|
int |
getCommittedTextLength()
获取文本编辑组件中包含的整个文本的长度,但未提交(组合)文本除外)。
|
int |
getInsertPositionOffset()
获取文本编辑组件中包含的提交文本中插入位置的偏移量。
|
TextHitInfo |
getLocationOffset(int x, int y)
获取屏幕上指定的绝对x和y坐标的组合文本中的偏移量。
|
AttributedCharacterIterator |
getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
从文本编辑组件获取当前选定的文本。
|
Rectangle |
getTextLocation(TextHitInfo offset)
获取当前组合文本中指定偏移量的位置,或者在提交文本中获取选择的位置。
|
Rectangle getTextLocation(TextHitInfo offset)
如果组件已经组合文本(因为发送给它的最新的InputMethodEvent包含组合文本),则偏移量相对于组合文本 - offset 0表示组合文本中的第一个字符。 返回的位置应该是这个字符。
如果组件没有组合文本,偏移量应该被忽略,返回的位置应该反映包含所选文本的最后一行中的高亮显示的开始(沿行方向)。 例如,对于水平从左到右的文本(例如英文),返回包含所选文本的最后一行最左侧字符左侧的位置。 对于垂直的从上到下的文本,从右到左继续进行,返回包含所选文本的最左行的顶部位置。
该位置表示为0-厚度插入符号,即如果文本是水平绘制的,则它的宽度为0,如果文本是垂直绘制的,则为0。 其他文字方向需要映射到水平或垂直方向。 矩形使用绝对屏幕坐标。
offset
- 组合文本中的偏移量,如果有offset
文本;
否则为空
TextHitInfo getLocationOffset(int x, int y)
如果位置在组合文本占用的区域之外,则返回null。
x
- 屏幕上的绝对x坐标
y
- 屏幕上的绝对y坐标
int getInsertPositionOffset()
AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
输入法可以提供它感兴趣的属性的列表。在这种情况下,实现者可能需要的关于其他属性的信息不需要通过迭代器访问。 如果列表为空,则所有可用属性信息都应该可访问。
beginIndex
- 第一个字符的索引
endIndex
- 最后一个字符后面的字符的索引
attributes
- 输入法感兴趣的属性列表
int getCommittedTextLength()
AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
通常,此功能只能在文本提交后立即支持,而不是在用户对文本执行其他操作之后。 当不支持该功能时,返回null。
输入法可以提供它感兴趣的属性的列表。在这种情况下,实现者可能需要的关于其他属性的信息不需要通过迭代器访问。 如果列表为空,则所有可用属性信息都应该可访问。
attributes
- 输入法感兴趣的属性列表
AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
输入法可以提供它感兴趣的属性的列表。在这种情况下,实现者可能需要的关于其他属性的信息不需要通过迭代器访问。 如果列表为空,则所有可用属性信息都应该可访问。
attributes
- 输入法感兴趣的属性列表