モジュール java.desktop
パッケージ java.awt.font

クラスTextHitInfo

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
 

関連項目: