/*
 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javafx.scene.input;

import javafx.geometry.Point2D;

InputMethodRequests defines the requests that a text editing node has to handle in order to work with input methods. The node can implement this interface itself or use a separate object that implements it. The object implementing this interface must be returned from the node's getInputMethodRequests method.
Since:JavaFX 2.0
/** * InputMethodRequests defines the requests that a text editing node * has to handle in order to work with input methods. The node can * implement this interface itself or use a separate object that * implements it. The object implementing this interface must be * returned from the node's getInputMethodRequests method. * * @since JavaFX 2.0 */
public interface InputMethodRequests {
Gets the location of a specified offset in the current composed text, or of the selection in committed text. This information is, for example, used to position the candidate window near the composed text, or a composition window near the location where committed text will be inserted.
Params:
  • offset – the offset within the composed text, if there is composed text; null otherwise
Returns:a point representing the screen location of the offset
/** * Gets the location of a specified offset in the current composed text, * or of the selection in committed text. This information is, for example, * used to position the candidate window near the composed text, or a * composition window near the location where committed text will be * inserted. * * @param offset the offset within the composed text, if there is * composed text; null otherwise * @return a point representing the screen location of the offset */
Point2D getTextLocation(int offset);
Gets the offset within the composed text for the specified absolute x and y coordinates on the screen. This information is used, for example to handle mouse clicks and the mouse cursor. The offset is relative to the composed text, so offset 0 indicates the beginning of the composed text.
Params:
  • x – the absolute x coordinate on screen
  • y – the absolute y coordinate on screen
Returns:the offset in the composed text.
/** * Gets the offset within the composed text for the specified absolute x * and y coordinates on the screen. This information is used, for example * to handle mouse clicks and the mouse cursor. The offset is relative to * the composed text, so offset 0 indicates the beginning of the composed * text. * * @param x the absolute x coordinate on screen * @param y the absolute y coordinate on screen * @return the offset in the composed text. */
int getLocationOffset(int x, int y);
Gets the latest committed text from the text editing node and removes it from the node's text body. This is used for the "Undo Commit" feature in some input methods, where the committed text reverts to its previous composed state. The composed text will be sent to the node using an InputMethodEvent.
/** * Gets the latest committed text from the text editing node and removes * it from the node's text body. This is used for the "Undo Commit" * feature in some input methods, where the committed text reverts to * its previous composed state. The composed text will be sent to the * node using an InputMethodEvent. */
void cancelLatestCommittedText();
Gets the currently selected text from the text editing node. This may be used for a variety of purposes. One of them is the "Reconvert" feature in some input methods. In this case, the input method will typically send an input method event to replace the selected text with composed text. Depending on the input method's capabilities, this may be the original composed text for the selected text, the latest composed text entered anywhere in the text, or a version of the text that's converted back from the selected text.
Returns:the latest committed text, or null when the "Undo Commit" feature is not supported
/** * Gets the currently selected text from the text editing node. This may * be used for a variety of purposes. One of them is the "Reconvert" * feature in some input methods. In this case, the input method will * typically send an input method event to replace the selected text * with composed text. Depending on the input method's capabilities, * this may be the original composed text for the selected text, the * latest composed text entered anywhere in the text, or a version of * the text that's converted back from the selected text. * * @return the latest committed text, or null when the "Undo Commit" * feature is not supported */
String getSelectedText(); }