java.lang.Object
java.awt.font.TextHitInfo
TextHitInfo 类表示文本模型中的字符位置,以及偏见,或角色的“侧面”。偏差是 leading(左边缘,对于从左到右的字符)或 trailing(右边缘,对于从左到右的字符)。 TextHitInfo 的实例用于指定文本中的插入符号和插入位置。
例如,考虑文本“abc”。 TextHitInfo.trailing(1) 对应于文本中“b”的右侧。
TextHitInfo 主要由 TextLayout 和 TextLayout 的客户使用。 TextLayout 的客户端查询 TextHitInfo 实例的插入偏移量,新文本被插入到文本模型中。如果偏置是前导,则插入偏移量等于TextHitInfo 中的字符位置,如果偏置是尾随,则插入偏移量等于字符位置。 TextHitInfo.trailing(1) 的插入偏移量为 2。
有时构造一个 TextHitInfo 与现有插入偏移量相同但位于相反字符上会很方便。 getOtherHit 方法构造一个新的 TextHitInfo,其插入偏移量与现有插入偏移量相同,并命中插入偏移量另一侧的字符。在 trailing(1) 上调用 getOtherHit 将返回 leading(2)。一般来说,getOtherHit for trailing(n) 返回 leading(n+1) 而 getOtherHit for leading(n) 返回 trailing(n-1)。
Example :
将图形点转换为文本模型中的插入点
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
- 参见:
-
方法总结
修饰符和类型方法描述static TextHitInfoafterOffset(int offset) 在指定偏移处创建一个TextHitInfo,与偏移后的字符关联。static TextHitInfobeforeOffset(int offset) 在指定偏移处创建一个TextHitInfo,与偏移前的字符相关联。booleanequals(TextHitInfo hitInfo) 如果指定的TextHitInfo具有与此TextHitInfo相同的charIndex和isLeadingEdge,则返回true。boolean如果指定的Object是一个TextHitInfo并且等于这个TextHitInfo,则返回true。int返回字符命中的索引。int返回插入索引。getOffsetHit(int delta) 创建一个TextHitInfo,其字符索引从这个TextHitInfo的charIndex偏移delta。在插入点的另一侧创建一个TextHitInfo。inthashCode()返回哈希码。boolean如果字符的前缘被击中,则返回true。static TextHitInfoleading(int charIndex) 在指定charIndex字符的前沿创建一个TextHitInfo。toString()返回一个String表示仅供调试使用的命中。static TextHitInfotrailing(int charIndex) 在指定的charIndex字符的后缘创建命中。
-
方法详情
-
getCharIndex
public int getCharIndex()返回字符命中的索引。- 返回:
- 字符命中的索引。
-
isLeadingEdge
public boolean isLeadingEdge()如果字符的前缘被击中,则返回true。- 返回:
true如果字符的前缘被击中;false否则。
-
getInsertionIndex
public int getInsertionIndex()返回插入索引。如果字符的前缘被击中,这是字符索引,如果后缘被击中,则它比字符索引大 1。- 返回:
- 插入索引。
-
hashCode
public int hashCode()返回哈希码。 -
equals
如果指定的Object是一个TextHitInfo并且等于这个TextHitInfo,则返回true。 -
equals
如果指定的TextHitInfo具有与此TextHitInfo相同的charIndex和isLeadingEdge,则返回true。这与具有相同的插入偏移量不同。- 参数:
hitInfo- 一个指定的TextHitInfo- 返回:
true如果指定的TextHitInfo具有与此TextHitInfo相同的charIndex和isLeadingEdge。
-
toString
返回一个String表示仅供调试使用的命中。 -
leading
在指定charIndex字符的前沿创建一个TextHitInfo。- 参数:
charIndex- 命中的字符索引- 返回:
TextHitInfo在指定charIndex字符的前沿。
-
trailing
在指定的charIndex字符的后缘创建命中。- 参数:
charIndex- 命中的字符索引- 返回:
TextHitInfo在指定charIndex字符的后缘。
-
beforeOffset
在指定偏移处创建一个TextHitInfo,与偏移前的字符相关联。- 参数:
offset- 与偏移量之前的字符关联的偏移量- 返回:
-
指定偏移处的
TextHitInfo。
-
afterOffset
在指定偏移处创建一个TextHitInfo,与偏移后的字符关联。- 参数:
offset- 与偏移量之后的字符关联的偏移量- 返回:
-
指定偏移处的
TextHitInfo。
-
getOtherHit
在插入点的另一侧创建一个TextHitInfo。这个TextHitInfo保持不变。- 返回:
-
插入点另一侧的
TextHitInfo。
-
getOffsetHit
创建一个TextHitInfo,其字符索引从这个TextHitInfo的charIndex偏移delta。这个TextHitInfo保持不变。- 参数:
delta- 抵消此charIndex的值- 返回:
-
一个
TextHitInfo的charIndex从这个TextHitInfo的charIndex偏移了delta。
-