JavaTM 2
Platform
Std. Ed. v1.4.0

java.awt.im
インタフェース InputMethodRequests

既知のサブインタフェースの一覧:
InputMethodContext

public interface InputMethodRequests

InputMethodRequests は、インプットメソッドを扱うためにテキスト編集コンポーネントで処理する必要がある要求を定義します。コンポーネントはこのインタフェース自体を実装することも、またはそのインタフェースを実装する独立したオブジェクトを使用することもできます。このインタフェースを実装するオブジェクトは、コンポーネントの getInputMethodRequests メソッドから返される必要があります。

また、テキスト編集コンポーネントはインプットメソッドのイベントリスナーを提供する必要があります。

インタフェースは、次の 2 つの入力ユーザインタフェースのいずれかをサポートするように設計されます。

導入されたバージョン:
1.2
関連項目:
Component.getInputMethodRequests(), InputMethodListener

メソッドの概要
 AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
          テキスト編集コンポーネントから最新の確定テキストを取得して、コンポーネントのテキスト本体からそのテキストを削除します。
 AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
          未確定のテキストを除いて、テキスト編集コンポーネントに格納されているテキスト全体および属性へのアクセスを提供する反復子を返します。
 int getCommittedTextLength()
          未確定の (変換) テキストを除く、テキスト編集コンポーネントに格納されているテキスト全体の長さを返します。
 int getInsertPositionOffset()
          テキスト編集コンポーネントに格納されている確定テキスト内の挿入位置のオフセットを返します。
 TextHitInfo getLocationOffset(int x, int y)
          画面上に指定された絶対 x および y 座標の、変換テキスト内でのオフセットを返します。
 AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
          テキスト編集コンポーネント上で選択されているテキストを返します。
 Rectangle getTextLocation(TextHitInfo offset)
          現在の変換テキストでの指定されたオフセットの位置、または確定テキストでの選択範囲の位置を返します。
 

メソッドの詳細

getTextLocation

public Rectangle getTextLocation(TextHitInfo offset)
現在の変換テキストでの指定されたオフセットの位置、または確定テキストでの選択範囲の位置を返します。この情報は、たとえば、変換テキストの近くに候補ウィンドウを配置したり、確定テキストの挿入先の位置の近くに変換ウィンドウを配置するために使用されます。

コンポーネントに変換テキストが含まれる (コンポーネントに送られる最新の InputMethodEvent に変換テキストが含まれるため) 場合、オフセットは変換テキストからの相対位置になります。オフセット 0 は、変換テキストの最初の文字を示し、返される位置はこの文字の位置になります。

コンポーネントが変換テキストを持たない場合、オフセットは無視され、返される位置は、選択テキストが格納されている最終行内のハイライトの先頭 (行方向) になります。たとえば、左から右への横書きのテキスト (英語など) では、選択テキストが格納されている最終行の左端にある文字の左隣の位置が返されます。上から下への縦書きのテキストで、右の行から左の行へ書く場合は、選択したテキストが格納されている一番左の行の先頭の位置が返されます。

位置は厚さ 0 のキャレットとして表されます。つまり、テキストが横方向に描画される場合は幅 0、テキストが縦方向に描画される場合は高さ 0 になります。他のテキスト方向の場合は、縦方向または横方向にマッピングする必要があります。矩形は絶対画面座標を使用します。

パラメータ:
offset - 変換テキストがある場合は変換テキスト内での座標。そうでない場合は null
戻り値:
座標の画面位置を表す矩形

getLocationOffset

public TextHitInfo getLocationOffset(int x,
                                     int y)
画面上に指定された絶対 x および y 座標の、変換テキスト内でのオフセットを返します。この情報は、たとえば、マウスクリックおよびマウスカーソルを処理するために使用されます。オフセットは変換テキストに対する相対位置で、オフセット 0 は変換テキストの先頭を示します。

位置が変換テキストの占める領域の外にある場合は null を返します。

パラメータ:
x - 画面上での絶対 x 座標
y - 画面上での絶対 y 座標
戻り値:
変換テキスト内での座標を記述するテキストヒット情報

getInsertPositionOffset

public int getInsertPositionOffset()
テキスト編集コンポーネントに格納されている確定テキスト内の挿入位置のオフセットを返します。これは、インプットメソッドを通じて入力された文字の挿入位置のオフセットです。この情報は、たとえば挿入位置の前後のテキストを調べるためにインプットメソッドによって使用されます。

戻り値:
挿入位置の座標

getCommittedText

public AttributedCharacterIterator getCommittedText(int beginIndex,
                                                    int endIndex,
                                                    AttributedCharacterIterator.Attribute[] attributes)
未確定のテキストを除いて、テキスト編集コンポーネントに格納されているテキスト全体および属性へのアクセスを提供する反復子を返します。未確定の (変換) テキストは、インデックスの計算では無視され、反復子を通じてアクセス可能にはなりません。

インプットメソッドは、関連する属性のリストを提供する場合があります。その場合、実装側が持つその他の属性についての情報は、反復子を通じてアクセス可能にする必要はありません。属性リストが null の場合は、利用可能なすべての属性情報をアクセス可能にする必要があります。

パラメータ:
beginIndex - 最初の文字のインデックス
endIndex - 最後の文字の後に続く文字のインデックス
attributes - インプットメソッドに関連する属性のリスト
戻り値:
テキストおよびテキストの属性にアクセスできる反復子

getCommittedTextLength

public int getCommittedTextLength()
未確定の (変換) テキストを除く、テキスト編集コンポーネントに格納されているテキスト全体の長さを返します。

戻り値:
未確定のテキストを除くテキストの長さ

cancelLatestCommittedText

public AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
テキスト編集コンポーネントから最新の確定テキストを取得して、コンポーネントのテキスト本体からそのテキストを削除します。これは、確定テキストを以前の変換状態に戻す、一部のインプットメソッドの「確定取り消し」機能で使用されます。変換テキストは、InputMethodEvent を使用してコンポーネントに送られます。

一般に、この機能はユーザがテキストで他のオペレーションを実行したあとではなく、テキストが確定された直後にだけサポートされます。この機能がサポートされていない場合は null を返します。

インプットメソッドは、関連する属性のリストを提供する場合があります。その場合、実装側が持つその他の属性についての情報は、反復子を通じてアクセス可能にする必要はありません。属性リストが null の場合は、利用可能なすべての属性情報をアクセス可能にする必要があります。

パラメータ:
attributes - インプットメソッドに関連する属性のリスト
戻り値:
最新の確定テキスト、または null (「確定取り消し」機能がサポートされていない場合)

getSelectedText

public AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
テキスト編集コンポーネント上で選択されているテキストを返します。これは、さまざまな目的で使用されます。1 つの例として一部のインプットメソッドの「再変換」機能があります。この場合、インプットメソッドはインプットメソッドイベントを送って、選択されているテキストを変換テキストに置き換えます。インプットメソッドの機能に応じて、これは選択テキストに対応する元の変換テキスト、テキスト内に最後に入力された変換テキスト、または選択テキストを元に戻したテキストになることもあります。

インプットメソッドは、関連する属性のリストを提供する場合があります。その場合、実装側が持つその他の属性についての情報は、反復子を通じてアクセス可能にする必要はありません。属性リストが null の場合は、利用可能なすべての属性情報をアクセス可能にする必要があります。

パラメータ:
attributes - インプットメソッドに関連する属性のリスト
戻り値:
現在選択されているテキスト

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.