Module javafx.graphics
Package javafx.scene.input

# Class InputMethodEvent

java.lang.Object
java.util.EventObject
javafx.event.Event
javafx.scene.input.InputEvent
javafx.scene.input.InputMethodEvent

All Implemented Interfaces:
  `Serializable`, `Cloneable`

public final class InputMethodEvent extends InputEvent
An event which indicates that the underlying input method notifies its text change in a `Node`.

This event is delivered to the `Node` object that extends `TextInputControl`, when the text under composition (composed text) is generated/changed/removed, the input method commits the result text, or the input method caret position changes.

On receiving this event, the application is supposed to display the composed text with any visual feedback attributes to the user.

Note: this is a conditional feature. See `ConditionalFeature.INPUT_METHOD` for more information.

Since:
  JavaFX 2.0
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final EventType<InputMethodEvent>`
`ANY`
Common supertype for all input method event types.
`static final EventType<InputMethodEvent>`
`INPUT_METHOD_TEXT_CHANGED`
The only valid EventType for the InputMethodEvent.

### Fields inherited from class javafx.event.Event

`consumed, eventType, NULL_SOURCE_TARGET, target`

### Fields inherited from class java.util.EventObject

`source`

## Constructor Summary

Constructors
Constructor
Description
`InputMethodEvent(Object source, EventTarget target, EventType<InputMethodEvent> eventType, List<InputMethodTextRun> composed, String committed, int caretPosition)`
Constructs new InputMethodEvent event.
`InputMethodEvent(EventType<InputMethodEvent> eventType, List<InputMethodTextRun> composed, String committed, int caretPosition)`
Constructs new InputMethodEvent event with empty source and target.

## Method Summary

Modifier and Type
Method
Description
`InputMethodEvent`
`copyFor(Object newSource, EventTarget newTarget)`
Creates and returns a copy of this event with the specified event source and target.
`final int`
`getCaretPosition()`
The input method caret position within the composed text.
`final String`
`getCommitted()`
Gets the text that is committed by the input method as the result of the composition.
`final ObservableList<InputMethodTextRun>`
`getComposed()`
Gets the text under composition.
`EventType<InputMethodEvent>`
`getEventType()`
Gets the event type of this event.
`String`
`toString()`
Returns a string representation of this `InputMethodEvent` object.

### Methods inherited from class javafx.event.Event

`clone, consume, fireEvent, getTarget, isConsumed`

### Methods inherited from class java.util.EventObject

`getSource`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### INPUT_METHOD_TEXT_CHANGED

public static final EventType<InputMethodEvent> INPUT_METHOD_TEXT_CHANGED
The only valid EventType for the InputMethodEvent.

### ANY

public static final EventType<InputMethodEvent> ANY
Common supertype for all input method event types.

Since:
  JavaFX 8.0

## Constructor Details

### InputMethodEvent

public InputMethodEvent(Object source, EventTarget target, EventType<InputMethodEvent> eventType, List<InputMethodTextRun> composed, String committed, int caretPosition)
Constructs new InputMethodEvent event.

Parameters:
  `source` - the source of the event. Can be null.
  `target` - the target of the event. Can be null.
  `eventType` - The type of the event.
  `composed` - the text under composition
  `committed` - the text that is committed as a result of composition
  `caretPosition` - the current position of the caret.
Since:
  JavaFX 8.0

### InputMethodEvent

public InputMethodEvent(EventType<InputMethodEvent> eventType, List<InputMethodTextRun> composed, String committed, int caretPosition)
Constructs new InputMethodEvent event with empty source and target.

Parameters:
  `eventType` - The type of the event.
  `composed` - the text under composition
  `committed` - the text that is committed as a result of composition
  `caretPosition` - the current position of the caret.
Since:
  JavaFX 8.0

## Method Details

### getComposed

public final ObservableList<InputMethodTextRun> getComposed()
Gets the text under composition. This text should be displayed with the appropriate visual feedback that represents the `InputMethodHighlight`s attached to each run.

Returns:
  The text under composition

### getCommitted

public final String getCommitted()
Gets the text that is committed by the input method as the result of the composition.

Returns:
  The committed text

### getCaretPosition

public final int getCaretPosition()
The input method caret position within the composed text. If the position is -1, the caret should be invisible.

Returns:
  The input method caret position within the composed text

### toString

public String toString()
Returns a string representation of this `InputMethodEvent` object.

Overrides:
  `toString` in class `EventObject`
Returns:
  a string representation of this `InputMethodEvent` object.

### copyFor

public InputMethodEvent copyFor(Object newSource, EventTarget newTarget)
Description copied from class: `Event`
Creates and returns a copy of this event with the specified event source and target. If the source or target is set to `null`, it is replaced by the `NULL_SOURCE_TARGET` value.

Overrides:
  `copyFor` in class `Event`
Parameters:
  `newSource` - the new source of the copied event
  `newTarget` - the new target of the copied event
Returns:
  the event copy with the new source and target

### getEventType

public EventType<InputMethodEvent> getEventType()
Description copied from class: `Event`
Gets the event type of this event. Objects of the same `Event` class can have different event types. These event types further specify what kind of event occurred.

Overrides:
  `getEventType` in class `InputEvent`
Returns:
  the event type