Module  java.desktop
软件包  java.awt.font

Class TextHitInfo



  • public final class TextHitInfo
    extends Object
    TextHitInfo类表示文本模型中的字符位置,以及字符的偏差或“侧”。 偏差是前导 (左边缘,从左到右的字符)或尾随 (右边缘,从左到右的字符)。 TextHitInfo实例用于指定文本中的插入和插入位置。

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

    TextHitInfo主要由TextLayoutTextLayout的客户端TextLayout 客户端TextLayout查询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
    • 方法详细信息

      • getCharIndex

        public int getCharIndex​()
        返回字符命中的索引。
        结果
        角色命中的索引。
      • isLeadingEdge

        public boolean isLeadingEdge​()
        如果角色的前沿被击中,则返回 true
        结果
        true如果角色的前缘被击中; 否则为false
      • getInsertionIndex

        public int getInsertionIndex​()
        返回插入索引。 如果字符的前沿被命中,则这是字符索引,如果后缘被命中,则它大于字符索引。
        结果
        插入索引。
      • equals

        public boolean equals​(Object obj)
        返回 true如果指定 ObjectTextHitInfo ,等于这个 TextHitInfo
        重写:
        equalsObject
        参数
        obj - Object测试平等
        结果
        true如果指定的Object等于这个TextHitInfo ; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • equals

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

        public String toString​()
        返回一个 String表示仅用于调试的命中。
        重写:
        toStringObject
        结果
        一个 String代表这 TextHitInfo
      • leading

        public static TextHitInfo leading​(int charIndex)
        创建 TextHitInfo上的字符在指定的前沿 charIndex
        参数
        charIndex - 字符命中的索引
        结果
        一个 TextHitInfoTextHitInfo的字符在指定的 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其字符索引由偏移deltacharIndex此的TextHitInfo TextHitInfo保持不变。
        参数
        delta - 要抵消的价值 charIndex
        结果
        一个 TextHitInfo ,其 charIndex被抵消 deltacharIndex如此 TextHitInfo