Provides methods to control text input facilities such as input
methods and keyboard layouts.
Two methods handle both input methods and keyboard layouts: selectInputMethod
lets a client component select an input method or keyboard layout by locale,
getLocale lets a client component obtain the locale of the current input method
or keyboard layout.
The other methods more specifically support interaction with input methods:
They let client components control the behavior of input methods, and
dispatch events from the client component to the input method.
By default, one InputContext instance is created per Window instance,
and this input context is shared by all components within the window's
container hierarchy. However, this means that only one text input
operation is possible at any one time within a window, and that the
text needs to be committed when moving the focus from one text component
to another. If this is not desired, text components can create their
own input context instances.
The Java Platform supports input methods that have been developed in the Java
programming language, using the interfaces in the java.awt.im.spi
package,
and installed into a Java SE Runtime Environment as extensions. Implementations
may also support using the native input methods of the platforms they run on;
however, not all platforms and locales provide input methods. Keyboard layouts
are provided by the host platform.
Input methods are unavailable if (a) no input method written
in the Java programming language has been installed and (b) the Java Platform implementation
or the underlying platform does not support native input methods. In this case,
input contexts can still be created and used; their behavior is specified with
the individual methods below.