W3cubDocs

/OpenJDK 21

Class TextLayout.CaretPolicy

java.lang.Object
java.awt.font.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.

Constructor Summary

Constructor Description
CaretPolicy()
Constructs a CaretPolicy.

Method Summary

Modifier and Type Method 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 declared in class java.lang.Object

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

Constructor Details

CaretPolicy

public CaretPolicy()
Constructs a CaretPolicy.

Method Details

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, 2023, 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/en/java/javase/21/docs/api/java.desktop/java/awt/font/TextLayout.CaretPolicy.html