返回介绍

java.awt.font 类 TextHitInfo

发布于 2019-10-04 09:50:21 字数 9615 浏览 1035 评论 0 收藏 0

java.lang.Object
  └java.awt.font.TextHitInfo

public final class TextHitInfo
extends Object
 

TextHitInfo 类表示文本模型中的字符位置以及字符的斜线或“边”。斜线是开始边(对于从左到右的字符为左边缘)或者结尾边(对于从左到右的字符为右边缘)。 TextHitInfo 的实例用于指定插入符和在文本中的插入位置。

例如,可以考虑一下文本 "abc"。TextHitInfo.trailing(1) 对应于文本中 'b' 的右边。

TextHitInfo 主要由 TextLayoutTextLayout 的客户端使用。 TextLayout 的客户端查询 TextHitInfo 实例,以获得插入偏移量,新文本在此处插入到文本模型中。插入偏移量等于 TextHitInfo 中的字符位置(如果斜线为开始边),或者在某个字符之后(如果斜线为结尾边)。TextHitInfo.trailing(1) 的插入偏移量为 2。

有时,构造一个具有与现有 TextHitInfo 相同的插入偏移量的 TextHitInfo 很方便,不过要在相对的字符上。 getOtherHit 方法构造一个具有与现有 TextHitInfo 相同的插入偏移量的新 TextHitInfo ,目标字符在插入偏移量的另一侧。在 trailing(1) 上调用 getOtherHit 将返回 leading(2)。一般来说,trailing(n) 的 getOtherHit 返回 leading(n+1),leading(n) 的 getOtherHit 返回 trailing(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

方法摘要
staticTextHitInfoafterOffset(intoffset)

在指定偏移量处创建一个与偏移量之后的字符关联的 TextHitInfo

staticTextHitInfobeforeOffset(intoffset)

在指定偏移量处创建一个与偏移量之前的字符关联的 TextHitInfo

booleanequals(Objectobj)

如果指定的 Object 是一个 TextHitInfo 并且等于此 TextHitInfo ,则返回 true

booleanequals(TextHitInfohitInfo)

如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge ,则返回 true

intgetCharIndex()

返回目标字符的索引。

intgetInsertionIndex()

返回插入索引。

TextHitInfogetOffsetHit(intdelta)

创建一个 TextHitInfo ,其字符索引从此 TextHitInfocharIndex 偏移 delta

TextHitInfogetOtherHit()

在插入点的另一侧创建一个 TextHitInfo

inthashCode()

返回哈希码。

booleanisLeadingEdge()

如果字符的开始边是插入点,则返回 true

staticTextHitInfoleading(intcharIndex)

在指定 charIndex 处的字符开始边上创建一个 TextHitInfo

StringtoString()

返回表示此 TextHitInfo 的 String ,只用于调试目的。

staticTextHitInfotrailing(intcharIndex)

在指定 charIndex 处的字符的结尾边上创建一个 TextHitInfo。

从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

方法详细信息

getCharIndex

public int getCharIndex()
返回目标字符的索引。
返回:
目标字符的索引。

isLeadingEdge

public boolean isLeadingEdge()
如果字符的开始边是插入点,则返回 true
返回:
如果字符的开始边是插入点,则返回 true ;否则返回 false

getInsertionIndex

public int getInsertionIndex()
返回插入索引。如果字符的开始边是插入点,则插入索引为字符索引,如果字符的结尾边是插入点,则插入索引比字符索引大 1。
返回:
插入索引。

hashCode

public int hashCode()
返回哈希码。
覆盖:
Object 中的 hashCode
返回:
TextHitInfo 的哈希码,也是此 TextHitInfocharIndex
另请参见:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Objectobj)
如果指定的 Object 是一个 TextHitInfo 并且等于此 TextHitInfo ,则返回 true
覆盖:
Object 中的 equals
参数:
obj - 测试相等性的 Object
返回:
如果指定的 Object 等于此 TextHitInfo ,则返回 true ;否则返回 false
另请参见:
Object.hashCode() , Hashtable

equals

public boolean equals(TextHitInfohitInfo)
如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge ,则返回 true 。这与具有相同插入偏移量不同。
参数:
hitInfo - 一个指定的 TextHitInfo
返回:
如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge ,则返回 true

toString

public String toString()
返回表示此 TextHitInfo 的 String ,只用于调试目的。
覆盖:
Object 中的 toString
返回:
表示此 TextHitInfoString

leading

public static TextHitInfo leading(intcharIndex)
在指定 charIndex 处的字符开始边上创建一个 TextHitInfo
参数:
charIndex - 目标字符的索引
返回:
在指定 charIndex 处字符的开始边上的 TextHitInfo

trailing

public static TextHitInfo trailing(intcharIndex)
在指定 charIndex 处的字符的结尾边上创建一个 TextHitInfo。
参数:
charIndex - 目标字符的索引
返回:
在指定 charIndex 处的字符的结尾边上的 TextHitInfo

beforeOffset

public static TextHitInfo beforeOffset(intoffset)
在指定偏移量处创建一个与偏移量之前的字符关联的 TextHitInfo
参数:
offset - 与偏移量之前的字符关联的偏移量
返回:
在指定偏移量处的 TextHitInfo

afterOffset

public static TextHitInfo afterOffset(intoffset)
在指定偏移量处创建一个与偏移量之后的字符关联的 TextHitInfo
参数:
offset - 与偏移量之后的字符关联的偏移量
返回:
在指定偏移量处的 TextHitInfo

getOtherHit

public TextHitInfo getOtherHit()
在插入点的另一侧创建一个 TextHitInfo 。此 TextHitInfo 保持不变。
返回:
插入点另一侧的 TextHitInfo

getOffsetHit

public TextHitInfo getOffsetHit(intdelta)
创建一个 TextHitInfo ,其字符索引从此 TextHitInfocharIndex 偏移 delta 。此 TextHitInfo 保持不变。
参数:
delta - 偏移此 charIndex 的值
返回:
一个 TextHitInfo ,其 charIndex 从此 TextHitInfocharIndex 偏移 delta

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文