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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。