|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.im.InputContext
public class InputContext
インプットメソッドおよびキーボードの配置など、テキスト入力機能を制御するメソッドを提供します。次の 2 つのメソッドが、インプットメソッドとキーボードの配置の両方を処理します。selectInputMethod は、クライアントコンポーネントがロケールによってインプットメソッドとキーボードの配置を選択できるようにします。getLocale は、クライアントコンポーネントが現在のインプットメソッドとキーボードの配置のロケールを取得できるようにします。その他のメソッドは、インプットメソッドとの対話をより具体的にサポートします。これらのメソッドは、クライアントコンポーネントがインプットメソッドの動作を制御し、クライアントコンポーネントからインプットメソッドにイベントをディスパッチできるようにします。
デフォルトでは、Window のインスタンスごとに 1 つの InputContext のインスタンスが生成され、この入力コンテキストはウィンドウのコンテナ階層内にあるすべてのコンポーネントによって共有されます。ただし、ウィンドウ内では 1 回に 1 つのテキスト入力オペレーションだけが可能であり、テキストコンポーネント間でフォーカスを移動するときにはテキストを確定する必要があります。これが望ましくない場合、テキストコンポーネントは独自の入力コンテキストインスタンスを生成できます。
Java 2 プラットフォームは、Java プログラミング言語で開発され、java.awt.im.spi
パッケージのインタフェースを使用し、拡張機能として Java 2 実行環境にインストールされるインプットメソッドをサポートします。また実装は、実行するプラットフォームのネイティブなインプットメソッドの使用をサポートできます。ただし、すべてのプラットフォームおよびロケールがインプットメソッドを提供するわけではありません。キーボードの配置はホストプラットフォームにより提供されます。
インプットメソッドは、(a) Java プログラミング言語で書かれたインプットメソッドが何もインストールされておらず、(b) Java 2 実装または基本となるプラットフォームがネイティブのインプットメソッドをサポートしていない場合は、「使用できません」。その場合でも、入力コンテキストを作成して使用することはできます。入力コンテキストの動作は、下記の個別メソッドによって指定されます。
Component.getInputContext()
,
Component.enableInputMethods(boolean)
コンストラクタの概要 | |
---|---|
protected |
InputContext()
InputContext を構築します。 |
メソッドの概要 | |
---|---|
void |
dispatchEvent(AWTEvent event)
アクティブなインプットメソッドにイベントをディスパッチします。 |
void |
dispose()
入力コンテキストを破棄し、入力コンテキストが使用しているリソースを解放します。 |
void |
endComposition()
このコンテキストで現在進行中の入力変換を終了します。 |
Object |
getInputMethodControlObject()
現在のインプットメソッドの制御オブジェクトまたは null を返します。 |
static InputContext |
getInstance()
新しい InputContext インスタンスを返します。 |
Locale |
getLocale()
現在のインプットメソッドまたはキーボード配置の現在のロケールを返します。 |
boolean |
isCompositionEnabled()
現在のインプットメソッドが変換のために使用可能かどうか判別します。 |
void |
reconvert()
現在のインプットメソッドに対し、現在のクライアントコンポーネントからのテキストの再変換を要求します。 |
void |
removeNotify(Component client)
包含関係の階層からクライアントコンポーネントが削除されたか、またはコンポーネントでインプットメソッドがサポートされなくなったことを入力コンテキストに通知します。 |
boolean |
selectInputMethod(Locale locale)
指定されたロケールをサポートするインプットメソッドまたはキーボードの配置を選択しようとするときに、インプットメソッドまたはキーボードの配置が正常に選択されたかどうかを示す値を返します。 |
void |
setCharacterSubsets(Character.Subset[] subsets)
この入力コンテキストのインプットメソッドで入力できる Unicode 文字セットのサブセットを設定します。 |
void |
setCompositionEnabled(boolean enable)
パラメータ enable の値に応じて、変換のために現在のインプットメソッドを使用可能または不可能にします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected InputContext()
getInstance()
を呼び出して取得します。
メソッドの詳細 |
---|
public static InputContext getInstance()
public boolean selectInputMethod(Locale locale)
すべてのホストオペレーティングシステムが、現在選択されているネイティブのインプットメソッドまたはキーボードの配置のロケールを判定したり、ロケールによってネイティブのインプットメソッドまたはキーボードの配置を選択する API を提供しているわけではありません。このような API を提供しないホストオペレーティングシステムの場合、selectInputMethod
はホストオペレーティングシステムが提供するネイティブのインプットメソッドまたはキーボードの配置が、システムのデフォルトロケールだけをサポートするものと見なします。
たとえば、ユーザが挿入ポイントを変更する場合、テキスト編集コンポーネントからこのメソッドを呼び出すことにより、ユーザが挿入ポイント前後のテキストの言語でただちに入力を続行できます。
locale
- 目的の新しいロケール
NullPointerException
- locale
が null の場合public Locale getLocale()
InputMethod.getLocale()
メソッドが null を返す場合、null が返されます。
すべてのホストオペレーティングシステムが、現在選択されているネイティブのインプットメソッドまたはキーボード配置のロケールを判定する API を提供しているわけではありません。このような API を提供しないホストオペレーティングシステムの場合、getLocale
は、ホストオペレーティングシステムが提供するすべてのネイティブなインプットメソッドまたはキーボード配置の現在のロケールを、システムのデフォルトロケールと見なします。
public void setCharacterSubsets(Character.Subset[] subsets)
subsets
- 文字入力に使用できる Unicode 文字セットのサブセットpublic void setCompositionEnabled(boolean enable)
enable
の値に応じて、変換のために現在のインプットメソッドを使用可能または不可能にします。
変換のために使用可能なインプットメソッドは、変換と制御の 2 つの目的で、入ってくるイベントを解釈します。一方、使用不可能なインプットメソッドは変換のためにイベントを解釈しません。ただし、インプットメソッドが使用可能かどうかに関係なく、イベントはインプットメソッドに渡されます。また、変換に使用不可能なインプットメソッドであっても、変換のために自身を使用可能または使用不可能にするなどの制御目的で、イベントを解釈することができます。
ホストオペレーティングシステムによって提供されるインプットメソッドの場合、この操作がサポートされているかどうかを常に判断できるとは限りません。たとえば、インプットメソッドが特定のロケールでしか変換できず、ほかのロケールに対しては何も行わない場合があります。そうしたインプットメソッドの場合、このメソッドが UnsupportedOperationException
をスローしない可能性がありますが、変換が可能であるかどうかに影響を与えることもありません。
enable
- 現在のインプットメソッドを変換のために使用可能にするかどうか
UnsupportedOperationException
- 現在使用できるインプットメソッドがないか、あるいは現在のインプットメソッドが使用可能と不可能の操作をサポートしていない場合isCompositionEnabled()
public boolean isCompositionEnabled()
true
、そうでない場合は false
UnsupportedOperationException
- 現在使用できるインプットメソッドがないか、あるいは現在のインプットメソッドが、変換のために使用可能かどうかの確認をサポートしていない場合setCompositionEnabled(boolean)
public void reconvert()
InputMethodRequests.getSelectedText
メソッドを使って、再変換するテキストをクライアントコンポーネントから取得します。インプットメソッドによる詳細情報の要求を処理するために、他の InputMethodRequests
メソッドを用意しておく必要があります。変換されたテキストまたは確定テキスト、あるいはその両方が、InputMethodEvent
の処理としてクライアントコンポーネントへ送られます。指定されたテキストをインプットメソッドが再変換できない場合、そのテキストが InputMethodEvent
の確定テキストとして返されます。
UnsupportedOperationException
- 現在使用できるインプットメソッドがないか、あるいは現在のインプットメソッドが変換操作をサポートしていない場合public void dispatchEvent(AWTEvent event)
event
- イベント
NullPointerException
- event
が null の場合public void removeNotify(Component client)
Component.removeNotify
メソッドから呼び出されます。このコンポーネントに対するインプットメソッドからの入力が保留中の場合、その入力は破棄されます。使用できるインプットメソッドがない場合、このメソッドは無効です。
client
- クライアントコンポーネント
NullPointerException
- client
が null の場合public void endComposition()
テキスト編集コンポーネントは、たとえば、ユーザがテキスト内で (変換テキストの外部に) 挿入ポイントを移動したときや、コンポーネントのテキストがファイルに保存されたり、クリップボードにコピーされたときなど、さまざまな状況でこのメソッドを呼び出すことがあります。
public void dispose()
public Object getInputMethodControlObject()
使用できるインプットメソッドがないか、あるいは現在のインプットメソッドがインプットメソッド制御オブジェクトを提供していない場合、null が返されます。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。