java.lang.Object java.awt.font.TextHitInfo
public final class TextHitInfo
TextHitInfo
类表示文本模型中的字符位置以及字符的斜线或“边”。斜线是开始边(对于从左到右的字符为左边缘)或者结尾边(对于从左到右的字符为右边缘)。TextHitInfo
的实例用于指定插入符和在文本中的插入位置。
例如,可以考虑一下文本 "abc"。TextHitInfo.trailing(1) 对应于文本中 'b' 的右边。
TextHitInfo
主要由 TextLayout
和 TextLayout
的客户端使用。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 相同的 charIndex 和 isLeadingEdge ,则返回 true 。 |
int |
getCharIndex() 返回目标字符的索引。 |
int |
getInsertionIndex() 返回插入索引。 |
TextHitInfo |
getOffsetHit(int delta) 创建一个 TextHitInfo ,其字符索引从此 TextHitInfo 的 charIndex 偏移 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 |
方法详细信息 |
---|
public int getCharIndex()
public boolean isLeadingEdge()
true
。
true
;否则返回
false
。
public int getInsertionIndex()
public int hashCode()
TextHitInfo
的哈希码,也是此
TextHitInfo
的
charIndex
。
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
是一个
TextHitInfo
并且等于此
TextHitInfo
,则返回
true
。
obj
- 测试相等性的
Object
Object
等于此
TextHitInfo
,则返回
true
;否则返回
false
。
Object.hashCode()
,
Hashtable
public boolean equals(TextHitInfo hitInfo)
TextHitInfo
具有与此
TextHitInfo
相同的
charIndex
和
isLeadingEdge
,则返回
true
。这与具有相同插入偏移量不同。
hitInfo
- 一个指定的
TextHitInfo
TextHitInfo
具有与此
TextHitInfo
相同的
charIndex
和
isLeadingEdge
,则返回
true
。
public String toString()
public static TextHitInfo leading(int charIndex)
charIndex
处的字符开始边上创建一个
TextHitInfo
。
charIndex
- 目标字符的索引
charIndex
处字符的开始边上的
TextHitInfo
。
public static TextHitInfo trailing(int charIndex)
charIndex
处的字符的结尾边上创建一个 TextHitInfo。
charIndex
- 目标字符的索引
charIndex
处的字符的结尾边上的
TextHitInfo
。
public static TextHitInfo beforeOffset(int offset)
TextHitInfo
。
offset
- 与偏移量之前的字符关联的偏移量
TextHitInfo
。
public static TextHitInfo afterOffset(int offset)
TextHitInfo
。
offset
- 与偏移量之后的字符关联的偏移量
TextHitInfo
。
public TextHitInfo getOtherHit()
TextHitInfo
。此
TextHitInfo
保持不变。
TextHitInfo
。
public TextHitInfo getOffsetHit(int delta)
TextHitInfo
,其字符索引从此
TextHitInfo
的
charIndex
偏移
delta
。此
TextHitInfo
保持不变。
delta
- 偏移此
charIndex
的值
TextHitInfo
,其
charIndex
从此
TextHitInfo
的
charIndex
偏移
delta
。