Java プラットフォーム 1.2

java.awt.im
クラス InputContext

java.lang.Object
  |
  +--java.awt.im.InputContext

public class InputContext
extends Object

InputContext オブジェクトは、テキスト編集コンポーネントとインプットメソッド間の通信を管理します。InputContext オブジェクトは、両者の間でイベントをディスパッチし、インプットメソッドからテキスト編集コンポーネントへ情報の要求を転送します。また、InputContext オブジェクトは、テキスト編集コンポーネントがロケールによってインプットメソッドを選択できるようにします。

デフォルトでは、Window のインスタンスごとに 1 つの InputContext のインスタンスが生成され、この入力コンテキストはウィンドウのコンテナ階層内にあるすべてのコンポーネントによって共有されます。ただし、ウィンドウ内では 1 回に 1 つのテキスト入力オペレーションだけが可能であり、テキストコンポーネント間でフォーカスを移動するときにはテキストを確定する必要があります。これが望ましくない場合、テキストコンポーネントは独自の入力コンテキストインスタンスを生成できます。

一部のプラットフォームおよびロケールはインプットメソッドをサポートしません。インプットメソッドが利用できないときでも、入力コンテキストは作成および使用できます。InputContext のインスタンスのメソッドは、何も行わずに復帰します。selectLocale は false を返します。

関連項目:
Component.getInputContext(), Component.enableInputMethods(boolean)

コンストラクタの概要
protected InputContext()
          InputContext を構築します。
 
メソッドの概要
 void dispatchEvent(AWTEvent event)
          アクティブなインプットメソッドにイベントをディスパッチします。
 void dispose()
          入力コンテキストを破棄し、入力コンテキストが使用しているリソースを解放します。
 void endComposition()
          このコンテキストで現在進行中の入力変換を終了します。
 Object getInputMethodControlObject()
          現在のインプットメソッドから制御オブジェクトまたは null を返します。
static InputContext getInstance()
          新しい InputContext のインスタンスを返します。
 void removeNotify(Component client)
          包含関係の階層からクライアントコンポーネントが削除されたか、またはコンポーネントでインプットメソッドがサポートされなくなったことを入力コンテキストに通知します。
 boolean selectInputMethod(Locale locale)
          指定されたロケールをサポートするインプットメソッドを選択します。
 void setCharacterSubsets(Character.Subset[] subsets)
          この入力コンテキストのインプットメソッドで入力できる Unicode 文字セットのサブセットを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InputContext

protected InputContext()
InputContext を構築します。
メソッドの詳細

getInstance

public static InputContext getInstance()
新しい InputContext のインスタンスを返します。

selectInputMethod

public boolean selectInputMethod(Locale locale)
指定されたロケールをサポートするインプットメソッドを選択します。現在選択されているインプットメソッドが指定されたロケールをサポートする場合や、そのロケールをサポートする利用可能なインプットメソッドがない場合には、現在のインプットメソッドがアクティブなままです。そうでない場合は、指定されたロケールでのテキスト入力をサポートするインプットメソッドが選択されます。別のインプットメソッドに切り替える前に、未確定のテキストは確定されます。プラットフォームがインプットメソッドまたは指定されたロケールをサポートしない場合は false が返されます。

たとえば、ユーザが挿入ポイントを変更するときに、ユーザがこの挿入ポイントを囲むテキストの言語でただちに入力を続けられるように、テキスト編集コンポーネントがこのメソッドを呼び出すことがあります。

パラメータ:
locale - 目的の新しいロケール
戻り値:
この呼び出しのあとでアクティブになるインプットメソッドが、目的のロケールをサポートしているかどうか

setCharacterSubsets

public void setCharacterSubsets(Character.Subset[] subsets)
この入力コンテキストのインプットメソッドで入力できる Unicode 文字セットのサブセットを設定します。null を渡すと、すべての文字が使用できます。初期値は null です。この設定は現在のインプットメソッドと、この呼び出しが行われたあとで選択されるインプットメソッドに適用されます。ただし、この設定をすべてのホストインプットメソッドに渡すことが可能なわけではないので、この呼び出しだけでは目的の結果が得られない場合もあります。そのためアプリケーションが自身で文字を確認する必要は残ります。プラットフォームがインプットメソッドをサポートしていない場合は、このメソッドは無効です。
パラメータ:
subsets - 文字が入力される Unicode 文字セットのサブセット

dispatchEvent

public void dispatchEvent(AWTEvent event)
アクティブなインプットメソッドにイベントをディスパッチします。AWT によって呼び出されます。プラットフォームがインプットメソッドをサポートしない場合、イベントは消費されません。
パラメータ:
event - イベント

removeNotify

public void removeNotify(Component client)
包含関係の階層からクライアントコンポーネントが削除されたか、またはコンポーネントでインプットメソッドがサポートされなくなったことを入力コンテキストに通知します。このメソッドは、通常、クライアントコンポーネントの java.awt.Component.removeNotify() から呼び出されます。このコンポーネントでインプットメソッドから保留中の入力がある場合、その入力は破棄されます。
パラメータ:
client - クライアントコンポーネント

endComposition

public void endComposition()
このコンテキストで現在進行中の入力変換を終了します。プラットフォームおよびユーザ設定に応じて、未確定のテキストを確定または削除します。テキストに対する変更はインプットメソッドイベントを使用してアクティブなコンポーネントに通知されます。プラットフォームがインプットメソッドをサポートしていない場合、このメソッドは無効です。

テキスト編集コンポーネントは、たとえば、ユーザがテキスト内で (変換テキストの外部に) 挿入ポイントを移動したときや、コンポーネントのテキストがファイルに保存されたり、クリップボードにコピーされたときなど、さまざまな状況でこのメソッドを呼び出すことがあります。


dispose

public void dispose()
入力コンテキストを破棄し、入力コンテキストが使用しているリソースを解放します。AWT によって呼び出されます。プラットフォームがインプットメソッドをサポートしていない場合、このメソッドは無効です。

getInputMethodControlObject

public Object getInputMethodControlObject()
現在のインプットメソッドから制御オブジェクトまたは null を返します。制御オブジェクトは、インプットメソッドの動作を制御したり、インプットメソッドから情報を取得するメソッドを提供します。オブジェクトの型はインプットメソッド固有のクラスです。クライアントは既知のインプットメソッド制御オブジェクトクラスと結果を比較し、提供されるメソッドを呼び出すために適切なクラスへキャストする必要があります。プラットフォームがインプットメソッドをサポートしていない場合は、null が返されます。
戻り値:
現在のインプットメソッドの制御オブジェクト、または null

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.