public interface InputMethod
InputMethod のサブクラスは、インプットメソッドフレームワークでロードしてから、API (InputContext.selectInputMethod
) またはユーザーインタフェース (入力方式の切り替えメニュー) を通じて選択できます。
修飾子と型 | メソッドと説明 |
---|---|
void |
activate()
即時入力処理のためのインプットメソッドを起動します。
|
void |
deactivate(boolean isTemporary)
インプットメソッドを終了します。
|
void |
dispatchEvent(AWTEvent event)
インプットメソッドにイベントをディスパッチします。
|
void |
dispose()
このインプットメソッドで使用されたリソースを解放します。
|
void |
endComposition()
このコンテキストで現在進行中の入力変換を終了します。
|
Object |
getControlObject()
このインプットメソッドの制御オブジェクトまたは null を返します。
|
Locale |
getLocale()
現在の入力ロケールを返します。
|
void |
hideWindows()
このインプットメソッドのインスタンスまたはクラスが開いたすべてのウィンドウを閉じるか、隠します。
|
boolean |
isCompositionEnabled()
このインプットメソッドが使用可能かどうか判別します。
|
void |
notifyClientWindowChange(Rectangle bounds)
クライアントのウィンドウ位置または状態の変更を、このインプットメソッドに通知します。
|
void |
reconvert()
再変換操作を開始します。
|
void |
removeNotify()
クライアントコンポーネントが包含関係の階層から削除されているか、またはインプットメソッドがそのコンポーネントで使用できなくなっていることを、インプットメソッドに通知します。
|
void |
setCharacterSubsets(Character.Subset[] subsets)
このインプットメソッドで入力可能な Unicode 文字セットのサブセットを設定します。
|
void |
setCompositionEnabled(boolean enable)
パラメータ
enable の値に応じて、変換のインプットメソッドを使用可能または使用不可能にします。 |
void |
setInputMethodContext(InputMethodContext context)
インプットメソッドイベントのクライアントコンポーネントへのディスパッチ、およびクライアントコンポーネントからの情報の要求に使用する、インプットメソッドのコンテキストを設定します。
|
boolean |
setLocale(Locale locale)
入力ロケールの設定を試みます。
|
void setInputMethodContext(InputMethodContext context)
このメソッドは、インプットメソッドのインスタンスを生成するとすぐに呼び出されます。
context
- このインプットメソッド用のインプットメソッドコンテキストNullPointerException
- context
が null である場合boolean setLocale(Locale locale)
このメソッドは、次の場合に呼び出されます。
InputContext.selectInputMethod
によって、
getLocale
メソッドが null でない値を返す場合に、ユーザーインタフェースを使ってこのインプットメソッドに切り替えるとき。
locale
- 入力するロケールNullPointerException
- locale
が null である場合Locale getLocale()
このメソッドは、次の場合に呼び出されます。
InputContext.getLocale
によって、および
void setCharacterSubsets(Character.Subset[] subsets)
このメソッドは、次の場合に呼び出されます。
InputContext.setCharacterSubsets
により。
subsets
- 文字入力に使用できる Unicode 文字セットのサブセットvoid setCompositionEnabled(boolean enable)
enable
の値に応じて、変換のインプットメソッドを使用可能または使用不可能にします。
変換に使用できるインプットメソッドは、変換と制御の 2 つの目的で、入ってくるイベントを解釈します。そのとき、使用不可能なインプットメソッドは変換のためのイベントを解釈しません。ただし、インプットメソッドが使用可能かどうかに関係なく、イベントはインプットメソッドに渡されます。また、変換に使用不可能なインプットメソッドであっても、変換のために自身を使用可能または使用不可能にするなどの制御目的で、イベントを解釈することができます。
ホストオペレーティングシステムによって提供されるインプットメソッドの場合、この操作がサポートされているかどうかを常に判断できるとは限りません。たとえば、インプットメソッドが特定のロケールでしか変換できず、ほかのロケールに対しては何も行わない場合があります。そうしたインプットメソッドの場合、このメソッドが UnsupportedOperationException
をスローしない可能性がありますが、変換が可能であるかどうかに影響を与えることもありません。
このメソッドは、次の場合に呼び出されます。
InputContext.setCompositionEnabled
によって、
isCompositionEnabled
メソッドが例外をスローしないで返される場合に、ユーザーインタフェースまたは InputContext.selectInputMethod
を使って、別のインプットメソッドからこのインプットメソッドに切り替えるとき。
enable
- 変換用のインプットメソッドを使用可能にするかどうかUnsupportedOperationException
- このインプットメソッドが、使用可能/使用不可能の操作をサポートしていない場合isCompositionEnabled()
boolean isCompositionEnabled()
このメソッドは、次の場合に呼び出されます。
InputContext.isCompositionEnabled
によって、および
InputContext.selectInputMethod
を使って、このインプットメソッドから別のインプットメソッドに切り替えるとき。
true
、そうでない場合は false
。UnsupportedOperationException
- このインプットメソッドが、変換のために使用可能かどうかの確認をサポートしていない場合setCompositionEnabled(boolean)
void reconvert()
InputMethodRequests.getSelectedText
メソッドを使って、現在のクライアントコンポーネントから再変換するテキストを取得します。このメソッドは、ほかの InputMethodRequests
メソッドを使って再変換操作に必要な追加情報を要求できます。この操作によって変換し、確定したテキストは、クライアントコンポーネントに InputMethodEvent
のシーケンスとして送られます。指定されたテキストが再変換できない場合は、同一のテキストを確定テキストとしてクライアントコンポーネントに送る必要があります。
このメソッドは InputContext.reconvert
により呼び出されます。
UnsupportedOperationException
- このインプットメソッドが、再変換操作をサポートしていない場合。void dispatchEvent(AWTEvent event)
consume
メソッドも呼び出します。これにより、イベントはそのコンポーネントのイベント処理メソッドまたはイベントリスナーにディスパッチされなくなります。
イベントは、InputEvent またはそのサブクラスのインスタンスの場合にディスパッチされます。これには、AWT クラスの KeyEvent および MouseEvent のインスタンスが含まれます。
このメソッドは InputContext.dispatchEvent
により呼び出されます。
event
- インプットメソッドにディスパッチされるイベントNullPointerException
- event
が null である場合void notifyClientWindowChange(Rectangle bounds)
InputMethodContext.enableClientWindowNotification
を参照)。入力コンテキストの removeNotify
メソッドが呼び出されると、このメソッドの呼び出しは一時的に保留され、新規のクライアントコンポーネントがインプットメソッドを起動すると再開されます。このメソッドは次の場合に呼び出されます。
enableClientWindowNotification(inputMethod, true)
からenableClientWindowNotification(inputMethod, true)
の呼び出し後に、最初にインプットメソッドを起動するときbounds
- 画面上のクライアントウィンドウの bounds
。クライアントウィンドウがアイコン化されるか、不可視の場合は nullvoid activate()
インプットメソッドが独自のウィンドウを所有する場合、この時点で、すべての必要なウィンドウが開いており可視であることを確認する必要があります。
このメソッドは、次の場合に呼び出されます。
InputContext.dispatchEvent
により
InputContext.selectInputMethod
を使って、別のインプットメソッドからこのインプットメソッドに切り替えるとき。
void deactivate(boolean isTemporary)
FocusEvent.isTemporary
の引数と同じ意味を持ちます。
インプットメソッドが独自のウィンドウを所有する場合、ルックアップ選択ウィンドウなど現在の変換に関連するウィンドウのみが、ここで閉じられます。このインプットメソッドを、別のクライアントコンポーネントのためにすぐに再起動することも可能ですが、コントロールパネルなどのより持続的なウィンドウを閉じたりふたたび開いたりすると、不必要な画面フリッカーが生成されます。別のインプットメソッドクラスのインスタンスを起動する場合は、その前に hideWindows()
を現在のインプットメソッドで呼び出します。
このメソッドは、次の場合に呼び出されます。
InputContext.dispatchEvent
により
InputContext.selectInputMethod
を使って、このインプットメソッドから別のインプットメソッドに切り替えるとき
removeNotify
が呼び出される前。
isTemporary
- フォーカス変更が一時的かどうかvoid hideWindows()
void removeNotify()
このメソッドは InputContext.removeNotify
により呼び出されます。
このメソッドは、インプットメソッドが停止している場合にだけ呼び出されます。
void endComposition()
テキスト編集コンポーネントは、たとえば、ユーザーがテキスト内で (変換テキストの外部に) 挿入ポイントを移動したときや、コンポーネントのテキストがファイルに保存されたり、クリップボードにコピーされたときなど、さまざまな状況でこのメソッドを呼び出すことがあります。
このメソッドは、次の場合に呼び出されます。
InputContext.endComposition
によって、
InputContext.dispatchEvent
により
InputContext.selectInputMethod
を使って、このインプットメソッドから別のインプットメソッドに切り替えるとき。
void dispose()
このメソッドは InputContext.dispose
により呼び出されます。
このメソッドは、インプットメソッドが停止している場合にだけ呼び出されます。破棄したあとに、このインスタンスで呼び出されるこのインタフェースのメソッドはありません。
Object getControlObject()
このメソッドは InputContext.getInputMethodControlObject
により呼び出されます。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.