Java™ Platform
Standard Edition 7

パッケージ java.awt.im.spi

あらゆる Java 実行時環境で使用できるインプットメソッドの開発を可能にするインタフェースを提供します。

参照: 説明

パッケージ java.awt.im.spi の説明

あらゆる Java 実行時環境で使用できるインプットメソッドの開発を可能にするインタフェースを提供します。インプットメソッドは、ユーザーがテキストを単にキーボード上でタイプする以外の方法でテキストを入力できるソフトウェアコンポーネントです。数千種類もの文字を使う日本語、中国語、韓国語を、キーボードのそれよりはるかに少ないキーで入力する場合に、共通してこのインプットメソッドを使用します。このパッケージを使用すると、ほかの言語用のインプットメソッドや、手書き認識などのまったく異なる入力メカニズムの使用も可能になります。

パッケージの仕様

インプットメソッドパッケージ

インプットメソッドは「拡張メカニズム」の指定に従って、インストールされた拡張機能としてパッケージされます。インプットメソッドのメインの JAR ファイルには次のファイルが必要です。

    META-INF/services/java.awt.im.spi.InputMethodDescriptor

ファイルには、java.awt.im.spi.InputMethodDescriptor インタフェースを実装するクラスの完全指定クラス名が、1 行に 1 つ含まれている必要があります。それぞれの名前を囲む空白文字とタブ文字、および空白行は無視されます。コメント文字は「'#'」(\u0023) で、行の最初のコメント文字に続く文字はすべて無視されます。ファイルは UTF-8 で符号化されている必要があります。

たとえば、Foo インプットメソッドの java.awt.im.spi.InputMethodDesciptor を実装するクラスの完全指定名が com.sun.ime.FooInputMethodDescriptor の場合、ファイル META-INF/services/java.awt.im.spi.InputMethodDescriptor には次の行が含まれます。

    com.sun.ime.FooInputMethodDescriptor

インプットメソッドは少なくとも次の 2 つのクラスを提供する必要があります。java.awt.im.spi.InputMethodDescriptor インタフェースを実装するクラスと、java.awt.im.spi.InputMethod インタフェースを実装するクラスです。インプットメソッドは、InputMethod を実装するクラスのロードを実際に必要になるまで延期できるように、これらの 2 つの実装を区別する必要があります。

インプットメソッドのロード

インプットメソッドのフレームワークは、通常、インプットメソッドクラスのロードが絶対的に必要になるまで保留します。AWT の初期化中には InputMethodDescriptor 実装のみをロードします。InputMethod 実装はインプットメソッドが選択されたときにロードします。

Java インプットメソッドおよびピアテキストコンポーネント

Java インプットメソッドフレームワークは、インプットメソッド (ホストインプットメソッドおよび Java インプットメソッド) とコンポーネント (ピアと軽量) のすべての組み合わせをサポートすることを意図しています。しかし、基礎になるプラットフォームに制限があるため、Java インプットメソッドとピア AWT コンポーネントの間の交信が必ずできるわけではありません。したがって、この特定の組み合わせのサポートはプラットフォームに依存します。Sun の Java SE 実行時環境では、この組み合わせは Windows ではサポートされていますが、Solaris ではサポートされていません。

関連項目

概要、チュートリアル、例、ガイド、およびツールのマニュアルについては、以下を参照してください。

導入されたバージョン:
JDK1.3
Java™ Platform
Standard Edition 7

バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.