モジュール java.desktop
パッケージ 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メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      static TextHitInfo afterOffset​(int offset)
      指定されたオフセットに、オフセットの後ろの文字に関連付けられたTextHitInfoを作成します。
      static TextHitInfo beforeOffset​(int offset)
      指定されたオフセットに、オフセットの前の文字に関連付けられたTextHitInfoを作成します。
      boolean equals​(TextHitInfo hitInfo)
      指定されたTextHitInfoが、このTextHitInfoとして同じcharIndexisLeadingEdgeを持つ場合、trueを返します。
      boolean equals​(Object obj)
      指定されたObjectTextHitInfoで、このTextHitInfoと等しい場合、trueを返します。
      int getCharIndex()
      文字ヒットのインデックスを返します。
      int getInsertionIndex()
      挿入インデックスを返します。
      TextHitInfo getOffsetHit​(int delta)
      文字インデックスが、このTextHitInfocharIndexからのdeltaによるオフセットであるTextHitInfoを作成します。
      TextHitInfo getOtherHit()
      挿入ポイントの反対側にTextHitInfoを作成します。
      int hashCode()
      ハッシュ・コードを返します。
      boolean isLeadingEdge()
      文字のリーディング・エッジがヒットであった場合にtrueを返します。
      static TextHitInfo leading​(int charIndex)
      指定されたcharIndexの文字のリーディング・エッジでTextHitInfoを作成します。
      String toString()
      デバッグ専用にヒットを表すStringを返します。
      static TextHitInfo trailing​(int charIndex)
      指定されたcharIndexの文字のトレーリング・エッジでヒットを作成します。
    • メソッドの詳細

      • getCharIndex

        public int getCharIndex()
        文字ヒットのインデックスを返します。
        戻り値:
        文字ヒットのインデックス。
      • isLeadingEdge

        public boolean isLeadingEdge()
        文字のリーディング・エッジがヒットであった場合にtrueを返します。
        戻り値:
        文字のリーディング・エッジがヒットであった場合はtrue、そうでない場合はfalse
      • getInsertionIndex

        public int getInsertionIndex()
        挿入インデックスを返します。 これは、文字のリーディング・エッジがヒットであった場合の文字インデックスであり、トレーリング・エッジがヒットであった場合の文字インデックスより大きくなります。
        戻り値:
        挿入インデックス。
      • equals

        public boolean equals​(Object obj)
        指定されたObjectTextHitInfoで、このTextHitInfoと等しい場合、trueを返します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 等しいかどうかが判定されるObject
        戻り値:
        指定されたObjectがこのTextHitInfoの場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • equals

        public boolean equals​(TextHitInfo hitInfo)
        指定されたTextHitInfoが、このTextHitInfoとして同じcharIndexisLeadingEdgeを持つ場合、trueを返します。 これは、挿入オフセットが同じであることとは異なります。
        パラメータ:
        hitInfo - 指定されたTextHitInfo
        戻り値:
        指定されたTextHitInfocharIndexおよびisLeadingEdgeがこのTextHitInfoと同じ場合はtrue
      • toString

        public String toString()
        デバッグ専用にヒットを表すStringを返します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このTextHitInfoを表す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)
        文字インデックスが、このTextHitInfocharIndexからのdeltaによるオフセットであるTextHitInfoを作成します。 このTextHitInfoは変更されません。
        パラメータ:
        delta - このcharIndexのオフセットを設定する値
        戻り値:
        このTextHitInfocharIndexからdeltaだけオフセットされたcharIndexを持つTextHitInfo