Module java.desktop
Package java.awt.font

# 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

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