java.awt.font

接口
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

方法摘要
static TextHitInfo afterOffset(int offset)
          在指定偏移量处创建一个与偏移量之后的字符关联的 TextHitInfo
static TextHitInfo beforeOffset(int offset)
          在指定偏移量处创建一个与偏移量之前的字符关联的 TextHitInfo
 boolean equals(Object obj)
          如果指定的 Object 是一个 TextHitInfo 并且等于此 TextHitInfo,则返回 true
 boolean equals(TextHitInfo hitInfo)
          如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge,则返回 true
 int getCharIndex()
          返回目标字符的索引。
 int getInsertionIndex()
          返回插入索引。
 TextHitInfo getOffsetHit(int delta)
          创建一个 TextHitInfo,其字符索引从此 TextHitInfocharIndex 偏移 delta
 TextHitInfo getOtherHit()
          在插入点的另一侧创建一个 TextHitInfo
 int hashCode()
          返回哈希码。
 boolean isLeadingEdge()
          如果字符的开始边是插入点,则返回 true
static TextHitInfo leading(int charIndex)
          在指定 charIndex 处的字符开始边上创建一个 TextHitInfo
 String toString()
          返回表示此 TextHitInfo 的 String,只用于调试目的。
static TextHitInfo trailing(int charIndex)
          在指定 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(Object obj)
如果指定的 Object 是一个 TextHitInfo 并且等于此 TextHitInfo,则返回 true

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

equals

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

参数:
hitInfo - 一个指定的 TextHitInfo
返回:
如果指定的 TextHitInfo 具有与此 TextHitInfo 相同的 charIndexisLeadingEdge,则返回 true

toString

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

覆盖:
Object 中的 toString
返回:
表示此 TextHitInfoString

leading

public static TextHitInfo leading(int charIndex)
在指定 charIndex 处的字符开始边上创建一个 TextHitInfo

参数:
charIndex - 目标字符的索引
返回:
在指定 charIndex 处字符的开始边上的 TextHitInfo

trailing

public static TextHitInfo trailing(int charIndex)
在指定 charIndex 处的字符的结尾边上创建一个 TextHitInfo。

参数:
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