public final class TextHitInfo extends Object
TextHitInfo
类表示文本模型中的字符位置,以及字符的偏差或“侧”。
偏差是前导 (左边缘,从左到右的字符)或尾随 (右边缘,从左到右的字符)。
TextHitInfo的TextHitInfo
用于在文本中指定插入符号和插入位置。
例如,考虑文本“abc”。 TextHitInfo.trailing(1)对应于文本中“b”的右侧。
TextHitInfo
主要由TextLayout
和客户TextLayout
。 客户端TextLayout
查询TextHitInfo
插入偏移量的实例,其中将新文本插入到文本模型中。 插入偏移等于TextHitInfo中的偏移量为前导的字符位置,如果偏移量为后置, TextHitInfo
一个字符。 TextHitInfo.trailing(1)的插入偏移量为2。
有时候构造一个TextHitInfo
与现有的相同的插入偏移是方便的,但在相反的字符。 getOtherHit
方法构造一个新的TextHitInfo
,其具有与现有插入偏移相同的插入偏移,并且在插入偏移的另一侧上的字符被击中。 尾随(1)调用getOtherHit
将返回前导(2)。 一般来说, getOtherHit
为尾(n)返回领先(n + 1)和getOtherHit
为领先(n)返回尾随(n-1)。
示例 :
将图形点转换为文本模型中的插入点
TextLayout layout = ...; Point2D.Float hitPoint = ...; TextHitInfo hitInfo = layout.hitTestChar(hitPoint.x, hitPoint.y); int insPoint = hitInfo.getInsertionIndex(); // insPoint is relative to layout; may need to adjust for use // in a text model
TextLayout
Modifier and Type | Method and Description |
---|---|
static TextHitInfo |
afterOffset(int offset)
以指定的偏移量创建
TextHitInfo ,与偏移后的字符相关联。
|
static TextHitInfo |
beforeOffset(int offset)
以指定的偏移量创建
TextHitInfo ,与偏移之前的字符相关联。
|
boolean |
equals(Object obj)
返回
true 如果指定的
Object 是
TextHitInfo ,等于这个
TextHitInfo 。
|
boolean |
equals(TextHitInfo hitInfo)
返回
true 如果指定的
TextHitInfo 具有相同的
charIndex 和
isLeadingEdge 作为这
TextHitInfo 。
|
int |
getCharIndex()
返回字符命中的索引。
|
int |
getInsertionIndex()
返回插入索引。
|
TextHitInfo |
getOffsetHit(int delta)
创建
TextHitInfo ,其字符索引由偏移
delta 从
charIndex 此的
TextHitInfo 。
|
TextHitInfo |
getOtherHit()
在插入点的另一侧创建一个
TextHitInfo 。
|
int |
hashCode()
返回哈希码。
|
boolean |
isLeadingEdge()
如果
true 的前缘被击中,则返回
true 。
|
static TextHitInfo |
leading(int charIndex)
在
TextHitInfo 的前沿创建一个
charIndex 。
|
String |
toString()
返回一个
String 代表仅用于调试的命中。
|
static TextHitInfo |
trailing(int charIndex)
在指定的charIndex处创建字符
charIndex 。
|
public int getCharIndex()
public boolean isLeadingEdge()
true
的前缘被击中,则返回
true
。
true
如果角色的前缘被击中;
false
否则。
public int getInsertionIndex()
public int hashCode()
hashCode
在
Object
TextHitInfo
的哈希码,也是这个
charIndex
的
TextHitInfo
。
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
true
如果指定的
Object
是
TextHitInfo
,等于这个
TextHitInfo
。
equals
在
Object
obj
- 测试平等的
Object
true
如果指定的Object Object
于此TextHitInfo
;
false
否则。
Object.hashCode()
, HashMap
public boolean equals(TextHitInfo hitInfo)
true
如果指定的TextHitInfo
具有相同的charIndex
和isLeadingEdge
这TextHitInfo
。
这与插入偏移量相同。
hitInfo
- 一个指定的
TextHitInfo
true
如果指定的
TextHitInfo
具有相同的
charIndex
和
isLeadingEdge
作为这个
TextHitInfo
。
public String toString()
String
,表示仅用于调试的命中。
public static TextHitInfo leading(int charIndex)
TextHitInfo
的前沿创建一个
charIndex
。
charIndex
- 字符命中的索引
TextHitInfo
在前面的字符在指定的
charIndex
。
public static TextHitInfo trailing(int charIndex)
charIndex
。
charIndex
- 角色命中的索引
TextHitInfo
在
TextHitInfo
的后端在指定的
charIndex
。
public static TextHitInfo beforeOffset(int offset)
TextHitInfo
,与偏移量之前的字符相关联。
offset
- 与偏移之前的字符相关联的偏移量
TextHitInfo
在指定的偏移量。
public static TextHitInfo afterOffset(int offset)
TextHitInfo
,与偏移后的字符相关联。
offset
- 与偏移后的字符相关联的偏移量
TextHitInfo
在指定的偏移量。
public TextHitInfo getOtherHit()
TextHitInfo
。
这TextHitInfo
保持不变。
TextHitInfo
在插入点的另一边。
public TextHitInfo getOffsetHit(int delta)
TextHitInfo
,其字符索引由偏移delta
从charIndex
此的TextHitInfo
。
这TextHitInfo
保持不变。
delta
- 要抵消这个
charIndex
的值
TextHitInfo
其
charIndex
被抵消
delta
从
charIndex
这一点
TextHitInfo
。