JavaTM Platform
Standard Ed. 6

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

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

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

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

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

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

getLocationOffset

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

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

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

getInsertPositionOffset

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

戻り値:
挿入位置の座標

getCommittedText

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

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

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

getCommittedTextLength

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

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

cancelLatestCommittedText

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

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

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

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

getSelectedText

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

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

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。