Class TextLayout.CaretPolicy

Enclosing class:
TextLayout

public static class TextLayout.CaretPolicy
extends Object

Defines a policy for determining the strong caret location. This class contains one method, getStrongCaret, which is used to specify the policy that determines the strong caret in dual-caret text. The strong caret is used to move the caret to the left or right. Instances of this class can be passed to getCaretShapes, getNextLeftHit and getNextRightHit to customize strong caret selection.

To specify alternate caret policies, subclass CaretPolicy and override getStrongCaret. getStrongCaret should inspect the two TextHitInfo arguments and choose one of them as the strong caret.

Most clients do not need to use this class.

Constructors

Constructor and Description
CaretPolicy()

Constructs a CaretPolicy.

Methods

Modifier and Type Method and Description
TextHitInfo getStrongCaret(TextHitInfo hit1, TextHitInfo hit2, TextLayout layout)

Chooses one of the specified TextHitInfo instances as a strong caret in the specified TextLayout.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

CaretPolicy

public CaretPolicy()

Constructs a CaretPolicy.

Methods

getStrongCaret

public TextHitInfo getStrongCaret(TextHitInfo hit1,
                                  TextHitInfo hit2,
                                  TextLayout layout)

Chooses one of the specified TextHitInfo instances as a strong caret in the specified TextLayout.

Parameters:
hit1 - a valid hit in layout
hit2 - a valid hit in layout
layout - the TextLayout in which hit1 and hit2 are used
Returns:
hit1 or hit2 (or an equivalent TextHitInfo), indicating the strong caret.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/java/awt/font/TextLayout.CaretPolicy.html