java.lang.Object
java.awt.font.TextHitInfo
public final class TextHitInfo extends Object
TextHitInfoクラスは、テキスト・モデルの文字の位置、バイアス、または「サイド」を表します。 バイアスはリーディング (左から右の文字の場合は左端)またはトレーリング (左から右の文字の場合は右端)のどちらかです。 TextHitInfoのインスタンスは、テキスト内のキャレットおよび挿入位置の指定に使われます。
たとえば、「abc」というテキストがあるとします。 TextHitInfo.trailing(1)はテキストの「b」の右側に対応します。
TextHitInfoは主にTextLayout、およびTextLayoutのクライアントによって使われます。 TextLayoutのクライアントはTextHitInfoインスタンスに、新しいテキストをテキスト・モデルに挿入する挿入オフセットを問い合わせます。 挿入オフセットは、バイアスがリーディングである場合にTextHitInfoの文字の位置に等しくなり、バイアスがトレーリングである場合は、1文字後ろになります。 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 is relative to layout; may need to adjust for use // in a text model
- 関連項目:
TextLayout
-
メソッドのサマリー
修飾子と型 メソッド 説明 static TextHitInfoafterOffset(int offset)指定されたオフセットに、オフセットの後ろの文字に関連付けられたTextHitInfoを作成します。static TextHitInfobeforeOffset(int offset)指定されたオフセットに、オフセットの前の文字に関連付けられたTextHitInfoを作成します。booleanequals(TextHitInfo hitInfo)指定されたTextHitInfoが、このTextHitInfoとして同じcharIndexとisLeadingEdgeを持つ場合、trueを返します。booleanequals(Object obj)指定されたObjectがTextHitInfoで、このTextHitInfoと等しい場合、trueを返します。intgetCharIndex()文字ヒットのインデックスを返します。intgetInsertionIndex()挿入インデックスを返します。TextHitInfogetOffsetHit(int delta)文字インデックスが、このTextHitInfoのcharIndexからのdeltaによるオフセットであるTextHitInfoを作成します。TextHitInfogetOtherHit()挿入ポイントの反対側にTextHitInfoを作成します。inthashCode()ハッシュ・コードを返します。booleanisLeadingEdge()文字のリーディング・エッジがヒットであった場合にtrueを返します。static TextHitInfoleading(int charIndex)指定されたcharIndexの文字のリーディング・エッジでTextHitInfoを作成します。StringtoString()デバッグ専用にヒットを表すStringを返します。static TextHitInfotrailing(int charIndex)指定されたcharIndexの文字のトレーリング・エッジでヒットを作成します。
-
メソッドの詳細
-
getCharIndex
public int getCharIndex()文字ヒットのインデックスを返します。- 戻り値:
- 文字ヒットのインデックス。
-
isLeadingEdge
public boolean isLeadingEdge()文字のリーディング・エッジがヒットであった場合にtrueを返します。- 戻り値:
- 文字のリーディング・エッジがヒットであった場合は
true、そうでない場合はfalse。
-
getInsertionIndex
public int getInsertionIndex()挿入インデックスを返します。 これは、文字のリーディング・エッジがヒットであった場合の文字インデックスであり、トレーリング・エッジがヒットであった場合の文字インデックスより大きくなります。- 戻り値:
- 挿入インデックス。
-
hashCode
public int hashCode()ハッシュ・コードを返します。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- この
TextHitInfoのハッシュ・コード。これはこのTextHitInfoのcharIndexでもある。 - 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)指定されたObjectがTextHitInfoで、このTextHitInfoと等しい場合、trueを返します。- オーバーライド:
equals、クラス:Object- パラメータ:
obj- 等しいかどうかが判定されるObject- 戻り値:
- 指定された
ObjectがこのTextHitInfoの場合はtrue、それ以外の場合はfalse。 - 関連項目:
Object.hashCode()、HashMap
-
equals
public boolean equals(TextHitInfo hitInfo)指定されたTextHitInfoが、このTextHitInfoとして同じcharIndexとisLeadingEdgeを持つ場合、trueを返します。 これは、挿入オフセットが同じであることとは異なります。- パラメータ:
hitInfo- 指定されたTextHitInfo- 戻り値:
- 指定された
TextHitInfoのcharIndexおよびisLeadingEdgeがこのTextHitInfoと同じ場合はtrue。
-
toString
public String toString()デバッグ専用にヒットを表すStringを返します。 -
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のcharIndexからのdeltaによるオフセットであるTextHitInfoを作成します。 このTextHitInfoは変更されません。- パラメータ:
delta- このcharIndexのオフセットを設定する値- 戻り値:
- この
TextHitInfoのcharIndexからdeltaだけオフセットされたcharIndexを持つTextHitInfo。
-