モジュール 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
 

関連項目:
TextLayout
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    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の文字のトレーリング・エッジでヒットを作成します。

    クラス 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()
      挿入インデックスを返します。 これは、文字のリーディング・エッジがヒットであった場合の文字インデックスであり、トレーリング・エッジがヒットであった場合の文字インデックスより大きくなります。
      戻り値:
      挿入インデックス。
    • hashCode

      public int hashCode()
      ハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このTextHitInfoのハッシュ・コード。これはこのTextHitInfocharIndexでもある。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • 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