public class

InputContext

extends InputContext
implements ComponentListener WindowListener
java.lang.Object
   ↳ java.awt.im.InputContext
     ↳ sun.awt.im.InputContext
Known Direct Subclasses

Class Overview

This InputContext class contains parts of the implementation of java.text.im.InputContext. These parts have been moved here to avoid exposing protected members that are needed by the subclass InputMethodContext.

See Also

Summary

Protected Constructors
InputContext()
Constructs an InputContext.
Public Methods
void componentHidden(ComponentEvent e)
Invoked when the component has been made invisible.
void componentMoved(ComponentEvent e)
Invoked when the component's position changes.
void componentResized(ComponentEvent e)
Invoked when the component's size changes.
void componentShown(ComponentEvent e)
Invoked when the component has been made visible.
void disableNativeIM()
Turns off the native IM.
void dispatchEvent(AWTEvent event)
Dispatches an event to the active input method.
synchronized void dispose()
Releases the resources used by this input context.
synchronized void endComposition()
Ends any input composition that may currently be going on in this context.
synchronized Object getInputMethodControlObject()
Returns a control object from the current input method, or null.
String getInputMethodInfo()
Locale getLocale()
Returns the current locale of the current input method or keyboard layout.
boolean isCompositionEnabled()
Determines whether the current input method is enabled for composition.
synchronized void reconvert()
Asks the current input method to reconvert text from the current client component.
synchronized void removeNotify(Component component)
Notifies the input context that a client component has been removed from its containment hierarchy, or that input method support has been disabled for the component.
synchronized boolean selectInputMethod(Locale locale)
Attempts to select an input method or keyboard layout that supports the given locale, and returns a value indicating whether such an input method or keyboard layout has been successfully selected.
void setCharacterSubsets(Subset[] subsets)
Sets the subsets of the Unicode character set that input methods of this input context should be allowed to input.
void setCompositionEnabled(boolean enable)
Enables or disables the current input method for composition, depending on the value of the parameter enable.
void windowActivated(WindowEvent e)
Invoked when the Window is set to be the active Window.
void windowClosed(WindowEvent e)
Invoked when a window has been closed as the result of calling dispose on the window.
void windowClosing(WindowEvent e)
Invoked when the user attempts to close the window from the window's system menu.
void windowDeactivated(WindowEvent e)
Invoked when a Window is no longer the active Window.
void windowDeiconified(WindowEvent e)
Invoked when a window is changed from a minimized to a normal state.
void windowIconified(WindowEvent e)
Invoked when a window is changed from a normal to a minimized state.
void windowOpened(WindowEvent e)
Invoked the first time a window is made visible.
[Expand]
Inherited Methods
From class java.awt.im.InputContext
From class java.lang.Object
From interface java.awt.event.ComponentListener
From interface java.awt.event.WindowListener

Protected Constructors

protected InputContext ()

Constructs an InputContext.

Public Methods

public void componentHidden (ComponentEvent e)

Invoked when the component has been made invisible.

public void componentMoved (ComponentEvent e)

Invoked when the component's position changes.

public void componentResized (ComponentEvent e)

Invoked when the component's size changes.

public void componentShown (ComponentEvent e)

Invoked when the component has been made visible.

public void disableNativeIM ()

Turns off the native IM. The native IM is diabled when the deactive method of InputMethod is called. It is delayed until the active method is called on a different peer component. This method is provided to explicitly disable the native IM.

public void dispatchEvent (AWTEvent event)

Dispatches an event to the active input method. Called by AWT. If no input method is available, then the event will never be consumed.

Parameters
event The event

public synchronized void dispose ()

Releases the resources used by this input context. Called by AWT for the default input context of each Window. If no input methods are available, then this method has no effect.

Throws
IllegalStateException when the currentClientComponent is not null
See Also

public synchronized void endComposition ()

Ends any input composition that may currently be going on in this context. Depending on the platform and possibly user preferences, this may commit or delete uncommitted text. Any changes to the text are communicated to the active component using an input method event. If no input methods are available, then this method has no effect.

A text editing component may call this in a variety of situations, for example, when the user moves the insertion point within the text (but outside the composed text), or when the component's text is saved to a file or copied to the clipboard.

See Also

public synchronized Object getInputMethodControlObject ()

Returns a control object from the current input method, or null. A control object provides methods that control the behavior of the input method or obtain information from the input method. The type of the object is an input method specific class. Clients have to compare the result against known input method control object classes and cast to the appropriate class to invoke the methods provided.

If no input methods are available or the current input method does not provide an input method control object, then null is returned.

Returns
  • A control object from the current input method, or null.

public String getInputMethodInfo ()

Returns
  • a string with information about the current input method.
Throws
UnsupportedOperationException when input method is null

public Locale getLocale ()

Returns the current locale of the current input method or keyboard layout. Returns null if the input context does not have a current input method or keyboard layout or if the current input method's getLocale() method returns null.

Not all host operating systems provide API to determine the locale of the currently selected native input method or keyboard layout. For host operating systems that don't provide such API, getLocale assumes that the current locale of all native input methods or keyboard layouts provided by the host operating system is the system's default locale.

Returns
  • the current locale of the current input method or keyboard layout
See Also

public boolean isCompositionEnabled ()

Determines whether the current input method is enabled for composition. An input method that is enabled for composition interprets incoming events for both composition and control purposes, while a disabled input method does not interpret events for composition.

Returns
  • true if the current input method is enabled for composition; false otherwise
Throws
UnsupportedOperationException when input method is null

public synchronized void reconvert ()

Asks the current input method to reconvert text from the current client component. The input method obtains the text to be reconverted from the client component using the InputMethodRequests.getSelectedText method. The other InputMethodRequests methods must be prepared to deal with further information requests by the input method. The composed and/or committed text will be sent to the client component as a sequence of InputMethodEvents. If the input method cannot reconvert the given text, the text is returned as committed text in an InputMethodEvent.

Throws
UnsupportedOperationException when input method is null
See Also

public synchronized void removeNotify (Component component)

Notifies the input context that a client component has been removed from its containment hierarchy, or that input method support has been disabled for the component. This method is usually called from the client component's Component.removeNotify method. Potentially pending input from input methods for this component is discarded. If no input methods are available, then this method has no effect.

Parameters
component Client component
Throws
NullPointerException when the component is null.

public synchronized boolean selectInputMethod (Locale locale)

Attempts to select an input method or keyboard layout that supports the given locale, and returns a value indicating whether such an input method or keyboard layout has been successfully selected. The following steps are taken until an input method has been selected:

  • If the currently selected input method or keyboard layout supports the requested locale, it remains selected.
  • If there is no input method or keyboard layout available that supports the requested locale, the current input method or keyboard layout remains selected.
  • If the user has previously selected an input method or keyboard layout for the requested locale from the user interface, then the most recently selected such input method or keyboard layout is reselected.
  • Otherwise, an input method or keyboard layout that supports the requested locale is selected in an implementation dependent way.
Before switching away from an input method, any currently uncommitted text is committed. If no input method or keyboard layout supporting the requested locale is available, then false is returned.

Not all host operating systems provide API to determine the locale of the currently selected native input method or keyboard layout, and to select a native input method or keyboard layout by locale. For host operating systems that don't provide such API, selectInputMethod assumes that native input methods or keyboard layouts provided by the host operating system support only the system's default locale.

A text editing component may call this method, for example, when the user changes the insertion point, so that the user can immediately continue typing in the language of the surrounding text.

Parameters
locale The desired new locale.
Returns
  • true if the input method or keyboard layout that's active after this call supports the desired locale.
Throws
NullPointerException when the locale is null.

public void setCharacterSubsets (Subset[] subsets)

Sets the subsets of the Unicode character set that input methods of this input context should be allowed to input. Null may be passed in to indicate that all characters are allowed. The initial value is null. The setting applies to the current input method as well as input methods selected after this call is made. However, applications cannot rely on this call having the desired effect, since this setting cannot be passed on to all host input methods - applications still need to apply their own character validation. If no input methods are available, then this method has no effect.

Parameters
subsets The subsets of the Unicode character set from which characters may be input

public void setCompositionEnabled (boolean enable)

Enables or disables the current input method for composition, depending on the value of the parameter enable.

An input method that is enabled for composition interprets incoming events for both composition and control purposes, while a disabled input method does not interpret events for composition. Note however that events are passed on to the input method regardless whether it is enabled or not, and that an input method that is disabled for composition may still interpret events for control purposes, including to enable or disable itself for composition.

For input methods provided by host operating systems, it is not always possible to determine whether this operation is supported. For example, an input method may enable composition only for some locales, and do nothing for other locales. For such input methods, it is possible that this method does not throw UnsupportedOperationException, but also does not affect whether composition is enabled.

Parameters
enable whether to enable the current input method for composition
Throws
UnsupportedOperationException when input method is null

public void windowActivated (WindowEvent e)

Invoked when the Window is set to be the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.

public void windowClosed (WindowEvent e)

Invoked when a window has been closed as the result of calling dispose on the window.

public void windowClosing (WindowEvent e)

Invoked when the user attempts to close the window from the window's system menu.

public void windowDeactivated (WindowEvent e)

Invoked when a Window is no longer the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.

public void windowDeiconified (WindowEvent e)

Invoked when a window is changed from a minimized to a normal state.

public void windowIconified (WindowEvent e)

Invoked when a window is changed from a normal to a minimized state. For many platforms, a minimized window is displayed as the icon specified in the window's iconImage property.

public void windowOpened (WindowEvent e)

Invoked the first time a window is made visible.