模块 java.desktop

类 TextHitInfo

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

public final class TextHitInfo extends Object
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 TextHitInfo
    afterOffset(int offset)
    在指定偏移处创建一个 TextHitInfo,与偏移后的字符关联。
    static TextHitInfo
    beforeOffset(int offset)
    在指定偏移处创建一个 TextHitInfo,与偏移前的字符相关联。
    boolean
    equals(TextHitInfo hitInfo)
    如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge,则返回 true
    boolean
    equals(Object obj)
    如果指定的 Object 是一个 TextHitInfo 并且等于这个 TextHitInfo,则返回 true
    int
    返回字符命中的索引。
    int
    返回插入索引。
    getOffsetHit(int delta)
    创建一个 TextHitInfo,其字符索引从这个 TextHitInfocharIndex 偏移 delta
    在插入点的另一侧创建一个 TextHitInfo
    int
    返回哈希码。
    boolean
    如果字符的前缘被击中,则返回 true
    static TextHitInfo
    leading(int charIndex)
    在指定 charIndex 字符的前沿创建一个 TextHitInfo
    返回一个 String 表示仅供调试使用的命中。
    static TextHitInfo
    trailing(int charIndex)
    在指定的 charIndex 字符的后缘创建命中。

    在类 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()
      返回哈希码。
      重写:
      hashCode 在类 Object
      返回:
      这个 TextHitInfo 的哈希码,也是这个 TextHitInfocharIndex
      参见:
    • equals

      public boolean equals(Object  obj)
      如果指定的 Object 是一个 TextHitInfo 并且等于这个 TextHitInfo,则返回 true
      重写:
      equals 在类 Object
      参数:
      obj - Object 来测试是否相等
      返回:
      true 如果指定的 Object 等于此 TextHitInfofalse否则。
      参见:
    • equals

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

      public String  toString()
      返回一个 String 表示仅供调试使用的命中。
      重写:
      toString 在类 Object
      返回:
      一个 String 代表这个 TextHitInfo
    • leading

      public static TextHitInfo  leading(int charIndex)
      在指定 charIndex 字符的前沿创建一个 TextHitInfo
      参数:
      charIndex - 命中的字符索引
      返回:
      TextHitInfo 在指定 charIndex 字符的前沿。
    • trailing

      public static TextHitInfo  trailing(int charIndex)
      在指定的 charIndex 字符的后缘创建命中。
      参数:
      charIndex - 命中的字符索引
      返回:
      TextHitInfo 在指定 charIndex 字符的后缘。
    • beforeOffset

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

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

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

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