InputMethodEvent (JavaFX 17)

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 EventType<InputMethodEvent>` | `ANY` | Common supertype for all input method event types.
    `static EventType<InputMethodEvent>` | `INPUT_METHOD_TEXT_CHANGED` | The only valid EventType for the InputMethodEvent.

    - ### Fields declared in class javafx.event.Event

      `consumed, eventType, NULL_SOURCE_TARGET, target`

    - ### Fields declared in 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getCaretPosition()` | The input method caret position within the composed text.
    `String` | `getCommitted()` | Gets the text that is committed by the input method as the result of the composition.
    `ObservableList<InputMethodTextRun>` | `getComposed()` | Gets the text under composition.
    `String` | `toString()` | Returns a string representation of this `InputMethodEvent` object.

    - ### Methods declared in class javafx.event.Event

      `clone, consume, copyFor, fireEvent, getEventType, getTarget, isConsumed`

    - ### Methods declared in class java.util.EventObject

      `getSource`

    - ### Methods declared in class java.lang.Object

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

- - ### Field Detail

    - #### 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 Detail

    - #### 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 Detail

    - #### 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.