Module java.desktop
Package java.awt.font

Class TextHitInfo

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

public final class TextHitInfo extends Object
TextHitInfo类表示文本模型中的字符位置,以及字符的“偏移”或“边缘”。偏移可以是leading(对于从左到右的字符来说是左边缘)或trailing(对于从左到右的字符来说是右边缘)。TextHitInfo的实例用于指定文本中的插入符和插入位置。

例如,考虑文本“abc”。TextHitInfo.trailing(1)对应于文本中'b'的右侧。

TextHitInfo主要由TextLayoutTextLayout的客户端使用。 TextLayout的客户端查询TextHitInfo实例以获取插入偏移量,在该偏移量处将新文本插入文本模型。如果偏移是leading,则插入偏移量等于TextHitInfo中的字符位置,如果偏移是trailing,则插入偏移量比字符位置多一个字符。TextHitInfo.trailing(1)的插入偏移量为2。

有时,方便构造一个具有与现有插入偏移量相同的TextHitInfo,但在相反字符上。 getOtherHit方法构造一个新的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相对于layout;可能需要调整以在文本模型中使用
 
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    static TextHitInfo
    afterOffset(int offset)
    创建一个在指定偏移量处的TextHitInfo,与偏移量后的字符相关联。
    static TextHitInfo
    beforeOffset(int offset)
    创建一个在指定偏移量处的TextHitInfo,与偏移量前的字符相关联。
    boolean
    equals(TextHitInfo hitInfo)
    如果指定的TextHitInfo具有与此TextHitInfo相同的charIndexisLeadingEdge,则返回true
    boolean
    equals(Object obj)
    如果指定的ObjectTextHitInfo并且等于此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处的字符的右边缘创建一个命中。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Method Details

    • 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)
      如果指定的ObjectTextHitInfo并且等于此TextHitInfo,则返回true
      覆盖:
      equals 在类 Object
      参数:
      obj - 要测试是否相等的Object
      返回:
      如果指定的Object等于此TextHitInfo,则返回true;否则返回false
      参见:
    • equals

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

      public String toString()
      返回表示调试用途的命中的String
      覆盖:
      toString 在类 Object
      返回:
      表示此TextHitInfoString
    • leading

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

      public static TextHitInfo trailing(int charIndex)
      在指定charIndex处的字符的右边缘创建一个命中。
      参数:
      charIndex - 命中的字符的索引
      返回:
      在指定charIndex处的字符的右边缘创建一个TextHitInfo
    • 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的值
      返回:
      一个TextHitInfo,其charIndex从此TextHitInfocharIndex偏移delta