InputMethodのサブクラスは、インプット・メソッド・フレームワークでロードしてから、API (InputContext.selectInputMethod)またはユーザー・インタフェース(入力方式の切替えメニュー)を通じて選択できます。
- 導入されたバージョン:
- 1.3
- 
メソッドのサマリー修飾子と型メソッド説明voidactivate()即時入力処理のためのインプット・メソッドを起動します。voiddeactivate(boolean isTemporary) インプット・メソッドを終了します。voiddispatchEvent(AWTEvent event) インプット・メソッドにイベントをディスパッチします。voiddispose()このインプット・メソッドで使用されたリソースを解放します。voidこのコンテキストで現在進行中の入力変換を終了します。このインプット・メソッドの制御オブジェクトまたはnullを返します。現在の入力ロケールを返します。voidこのインプット・メソッドのインスタンスまたはクラスが開いたすべてのウィンドウを閉じるか、隠します。booleanこのインプット・メソッドが使用可能かどうか判別します。voidnotifyClientWindowChange(Rectangle bounds) クライアントのウィンドウ位置または状態の変更を、このインプット・メソッドに通知します。void再変換操作を開始します。voidクライアント・コンポーネントが包含関係の階層から削除されているか、またはインプット・メソッドがそのコンポーネントで使用できなくなっていることを、インプット・メソッドに通知します。voidsetCharacterSubsets(Character.Subset[] subsets) このインプット・メソッドで入力可能なUnicode文字セットのサブセットを設定します。voidsetCompositionEnabled(boolean enable) パラメータenableの値に応じて、変換のインプット・メソッドを使用可能または使用不可能にします。voidsetInputMethodContext(InputMethodContext context) インプット・メソッド・イベントのクライアント・コンポーネントへのディスパッチ、およびクライアント・コンポーネントからの情報の要求に使用する、インプット・メソッドのコンテキストを設定します。boolean入力ロケールの設定を試みます。
- 
メソッドの詳細- 
setInputMethodContextvoid setInputMethodContext(InputMethodContext context) インプット・メソッド・イベントのクライアント・コンポーネントへのディスパッチ、およびクライアント・コンポーネントからの情報の要求に使用する、インプット・メソッドのコンテキストを設定します。このメソッドは、インプット・メソッドのインスタンスを生成するとすぐに呼び出されます。 - パラメータ:
- context- このインプット・メソッド用のインプット・メソッド・コンテキスト
- 例外:
- NullPointerException-- contextがnullである場合
 
- 
setLocaleboolean setLocale(Locale locale) 入力ロケールの設定を試みます。 インプット・メソッドが目的のロケールをサポートしている場合、このメソッドはその動作を変更してロケールに対する入力をサポートし、trueを返します。 そうでない場合は、falseを返して動作の変更を行いません。このメソッドは、次の場合に呼び出されます。 - InputContext.selectInputMethodによって、
- ユーザーがロケールを指定したか、あるいは以前に選択済みのインプット・メソッドのgetLocaleメソッドがnullでない値を返す場合に、ユーザー・インタフェースを使ってこのインプット・メソッドに切り替えるとき。
 - パラメータ:
- locale- 入力するロケール
- 戻り値:
- 指定されたロケールがサポートされているかどうか
- 例外:
- NullPointerException-- localeがnullである場合
 
- 
getLocaleLocale getLocale()現在の入力ロケールを返します。 例外クラスの場合は、nullを返すことがあります。このメソッドは、次の場合に呼び出されます。 - InputContext.getLocaleによって、および
- ユーザー・インタフェースを使って、このインプット・メソッドから別のインプット・メソッドに切り替えるとき
 - 戻り値:
- 現在の入力ロケール、またはnull
 
- 
setCharacterSubsetsvoid setCharacterSubsets(Character.Subset[] subsets) このインプット・メソッドで入力可能なUnicode文字セットのサブセットを設定します。 すべての文字が使用できることを示す場合は、nullが渡されます。このメソッドは、次の場合に呼び出されます。 - このインプット・メソッドのインスタンスを生成した直後
- 別のインプット・メソッドからこのインプット・メソッドに切り替えるとき
- InputContext.setCharacterSubsetsにより。
 - パラメータ:
- subsets- 文字入力に使用できるUnicode文字セットのサブセット
 
- 
setCompositionEnabledvoid setCompositionEnabled(boolean enable) パラメータenableの値に応じて、変換のインプット・メソッドを使用可能または使用不可能にします。変換に使用できるインプット・メソッドは、変換と制御の2つの目的で、入ってくるイベントを解釈します。そのとき、使用不可能なインプット・メソッドは変換のためのイベントを解釈しません。 ただし、インプット・メソッドが使用可能かどうかに関係なく、イベントはインプット・メソッドに渡されます。また、変換に使用不可能なインプット・メソッドであっても、変換のために自身を使用可能または使用不可能にするなどの制御目的で、イベントを解釈することができます。 ホスト・オペレーティング・システムによって提供されるインプット・メソッドの場合、この操作がサポートされているかどうかを常に判断できるとは限りません。 たとえば、インプット・メソッドが特定のロケールでしか変換できず、ほかのロケールに対しては何も行わない場合があります。 そうしたインプット・メソッドの場合、このメソッドが UnsupportedOperationExceptionをスローしない可能性がありますが、変換が可能であるかどうかに影響を与えることもありません。このメソッドは、次の場合に呼び出されます。 - InputContext.setCompositionEnabledによって、
- 以前に選択済みのインプット・メソッドのisCompositionEnabledメソッドが例外をスローしないで返される場合に、ユーザー・インタフェースまたはInputContext.selectInputMethodを使って、別のインプット・メソッドからこのインプット・メソッドに切り替えるとき。
 - パラメータ:
- enable- 変換用のインプット・メソッドを使用可能にするかどうか
- 例外:
- UnsupportedOperationException- このインプット・メソッドが、使用可能/使用不可能の操作をサポートしていない場合
- 関連項目:
 
- 
isCompositionEnabledboolean isCompositionEnabled()このインプット・メソッドが使用可能かどうか判別します。 変換に使用できるインプット・メソッドは、変換と制御の2つの目的で、入ってくるイベントを解釈します。そのとき、使用不可能なインプット・メソッドは変換のためのイベントを解釈しません。このメソッドは、次の場合に呼び出されます。 - InputContext.isCompositionEnabledによって、および
- ユーザー・インタフェースまたはInputContext.selectInputMethodを使って、このインプット・メソッドから別のインプット・メソッドに切り替えるとき。
 - 戻り値:
- このインプット・メソッドが変換のために使用可能な場合はtrue、そうでない場合はfalse。
- 例外:
- UnsupportedOperationException- このインプット・メソッドが、変換のために使用可能かどうかの確認をサポートしていない場合
- 関連項目:
 
- 
reconvertvoid reconvert()再変換操作を開始します。 インプット・メソッドは、InputMethodRequests.getSelectedTextメソッドを使って、現在のクライアント・コンポーネントから再変換するテキストを取得します。 このメソッドは、ほかのInputMethodRequestsメソッドを使って再変換操作に必要な追加情報を要求できます。 この操作によって変換し、確定したテキストは、クライアント・コンポーネントにInputMethodEventのシーケンスとして送られます。 指定されたテキストが再変換できない場合は、同一のテキストを確定テキストとしてクライアント・コンポーネントに送る必要があります。このメソッドは InputContext.reconvertにより呼び出されます。- 例外:
- UnsupportedOperationException- このインプット・メソッドが、再変換操作をサポートしていない場合。
 
- 
dispatchEventvoid dispatchEvent(AWTEvent event) インプット・メソッドにイベントをディスパッチします。 フォーカスされたコンポーネントに対して入力メソッドのサポートが有効になっている場合、特定の型の着信イベントは、コンポーネント・メソッドまたはイベント・リスナーにディスパッチされる前に、このコンポーネントの現在の入力メソッドにディスパッチされます。 インプット・メソッドは、そのメソッドがイベントを処理する必要があるかどうかを決定します。 処理する必要がある場合は、イベントのconsumeメソッドも呼び出します。これにより、イベントはそのコンポーネントのイベント処理メソッドまたはイベント・リスナーにディスパッチされなくなります。イベントは、InputEventまたはそのサブクラスのインスタンスの場合にディスパッチされます。 これには、AWTクラスのKeyEventおよびMouseEventのインスタンスが含まれます。 このメソッドは InputContext.dispatchEventにより呼び出されます。- パラメータ:
- event- インプット・メソッドにディスパッチされるイベント
- 例外:
- NullPointerException-- eventがnullである場合
 
- 
notifyClientWindowChangevoid notifyClientWindowChange(Rectangle bounds) クライアントのウィンドウ位置または状態の変更を、このインプット・メソッドに通知します。 このメソッドは、このインプット・メソッドが入力コンテキストで現在使用されているインプット・メソッドであり、このメソッドに対する通知が使用可能である場合に呼び出されます(InputMethodContext.enableClientWindowNotificationを参照)。 入力コンテキストのremoveNotifyメソッドが呼び出されると、このメソッドの呼出しは一時的に保留され、新規のクライアント・コンポーネントがインプット・メソッドを起動すると再開されます。 このメソッドは次の場合に呼び出されます。- 現在のクライアント・コンポーネントを含むウィンドウの位置、サイズ、可視性、アイコンの表示状態が変更されたときか、このウィンドウが閉じられたとき
- 
 現在のクライアント・コンポーネントが存在する場合は、enableClientWindowNotification(inputMethod, true)から
- 
 呼出し中に現在のクライアント・コンポーネントが使用できない場合、enableClientWindowNotification(inputMethod, true)の呼出し後に、最初にインプット・メソッドを起動するとき
- 入力コンテキストのremoveNotifyメソッドの呼出し後に、新規クライアント・コンポーネントのインプット・メソッドを起動するとき
 - パラメータ:
- bounds- 画面上のクライアント・ウィンドウの- bounds。クライアント・ウィンドウがアイコン化されるか、不可視の場合はnull
 
- 
activatevoid activate()即時入力処理のためのインプット・メソッドを起動します。インプット・メソッドが独自のウィンドウを所有する場合、この時点で、すべての必要なウィンドウが開いており可視であることを確認する必要があります。 このメソッドは、次の場合に呼び出されます。 - クライアント・コンポーネントがFOCUS_GAINEDイベントを受け取る際に、InputContext.dispatchEventにより
- ユーザー・インタフェースまたはInputContext.selectInputMethodを使って、別のインプット・メソッドからこのインプット・メソッドに切り替えるとき。
 
- クライアント・コンポーネントがFOCUS_GAINEDイベントを受け取る際に、
- 
deactivatevoid deactivate(boolean isTemporary) インプット・メソッドを終了します。 isTemporary引数はFocusEvent.isTemporaryの引数と同じ意味を持ちます。インプット・メソッドが独自のウィンドウを所有する場合、ルックアップ選択ウィンドウなど現在の変換に関連するウィンドウのみが、ここで閉じられます。 このインプット・メソッドを、別のクライアント・コンポーネントのためにすぐに再起動することも可能ですが、コントロール・パネルなどのより持続的なウィンドウを閉じたりふたたび開いたりすると、不必要な画面フリッカが生成されます。 別のインプット・メソッド・クラスのインスタンスを起動する場合は、その前に hideWindows()を現在のインプット・メソッドで呼び出します。このメソッドは、次の場合に呼び出されます。 - クライアント・コンポーネントがFOCUS_LOSTイベントを受け取る際に、InputContext.dispatchEventにより
- ユーザー・インタフェースまたはInputContext.selectInputMethodを使って、このインプット・メソッドから別のインプット・メソッドに切り替えるとき
- 現在のクライアント・コンポーネントが削除される場合は、removeNotifyが呼び出される前。
 - パラメータ:
- isTemporary- フォーカス変更が一時的かどうか
 
- クライアント・コンポーネントがFOCUS_LOSTイベントを受け取る際に、
- 
hideWindowsvoid hideWindows()
- 
removeNotifyvoid removeNotify()クライアント・コンポーネントが包含関係の階層から削除されているか、またはインプット・メソッドがそのコンポーネントで使用できなくなっていることを、インプット・メソッドに通知します。このメソッドは InputContext.removeNotifyにより呼び出されます。このメソッドは、インプット・メソッドが停止している場合にだけ呼び出されます。 
- 
endCompositionvoid endComposition()このコンテキストで現在進行中の入力変換を終了します。 プラットフォームおよびユーザー設定に応じて、未確定のテキストを確定または削除します。 テキストに対する変更はインプット・メソッド・イベントを使用してアクティブなコンポーネントに通知されます。テキスト編集コンポーネントは、たとえば、ユーザーがテキスト内で(変換テキストの外部に)挿入ポイントを移動したときや、コンポーネントのテキストがファイルに保存されたり、クリップボードにコピーされたときなど、さまざまな状況でこのメソッドを呼び出すことがあります。 このメソッドは、次の場合に呼び出されます。 - InputContext.endCompositionによって、
- 別のクライアント・コンポーネントに切り替える場合に、InputContext.dispatchEventにより
- ユーザー・インタフェースまたはInputContext.selectInputMethodを使って、このインプット・メソッドから別のインプット・メソッドに切り替えるとき。
 
- 
disposevoid dispose()このインプット・メソッドで使用されたリソースを解放します。 特に、インプット・メソッドはウィンドウを破棄し、必要がなくなったファイルを閉じる必要があります。このメソッドは InputContext.disposeにより呼び出されます。このメソッドは、インプット・メソッドが停止している場合にだけ呼び出されます。 破棄したあとに、このインスタンスで呼び出されるこのインタフェースのメソッドはありません。 
- 
getControlObjectObject getControlObject()このインプット・メソッドの制御オブジェクトまたはnullを返します。 制御オブジェクトは、インプット・メソッドの動作を制御したり、インプット・メソッドから情報を取得するメソッドを提供します。 オブジェクトの型はインプット・メソッド固有のクラスです。 クライアントは既知のインプット・メソッド制御オブジェクト・クラスと結果を比較し、提供されるメソッドを呼び出すために適切なクラスへキャストする必要があります。このメソッドは InputContext.getInputMethodControlObjectにより呼び出されます。- 戻り値:
- 現在のインプット・メソッドの制御オブジェクト、またはnull
 
 
-