A place within a document view that represents where things can be inserted into the document model. A caret has a position in the document referred to as a dot. The dot is where the caret is currently located in the model. There is a second position maintained by the caret that represents the other end of a selection called mark. If there is no selection the dot and mark will be equal. If a selection exists, the two values will be different.

The dot can be placed by either calling setDot or moveDot. Setting the dot has the effect of removing any selection that may have previously existed. The dot and mark will be equal. Moving the dot has the effect of creating a selection as the mark is left at whatever position it previously had.

@author
Timothy Prinzing
@version
1.30 12/19/03
Adds a listener to track whenever the caret position has been changed.
Parameters
lthe change listener
Called when the UI is being removed from the interface of a JTextComponent. This is used to unregister any listeners that were attached.
Parameters
cthe JTextComponent
Gets the blink rate of the caret. This determines if and how fast the caret blinks, commonly used as one way to attract attention to the caret.
Return
the delay in milliseconds >= 0. If this is zero the caret will not blink.
Fetches the current position of the caret.
Return
the position >= 0
Gets the current caret visual location.
Return
the visual position.
Fetches the current position of the mark. If there is a selection, the mark will not be the same as the dot.
Return
the position >= 0
Called when the UI is being installed into the interface of a JTextComponent. This can be used to gain access to the model that is being navigated by the implementation of this interface.
Parameters
cthe JTextComponent
Determines if the selection is currently visible.
Return
true if the caret is visible else false
Determines if the caret is currently visible.
Return
true if the caret is visible else false
Moves the caret position (dot) to some other position, leaving behind the mark. This is useful for making selections.
Parameters
dotthe new position to move the caret to >= 0
Renders the caret.
Parameters
gthe graphics context
Removes a listener that was tracking caret position changes.
Parameters
lthe change listener
Sets the blink rate of the caret. This determines if and how fast the caret blinks, commonly used as one way to attract attention to the caret.
Parameters
ratethe delay in milliseconds >= 0. If this is zero the caret will not blink.
Sets the caret position to some position. This causes the mark to become the same as the dot, effectively setting the selection range to zero.
Parameters
dotthe new position to set the caret to >= 0
Set the current caret visual location. This can be used when moving between lines that have uneven end positions (such as when caret up or down actions occur). If text flows left-to-right or right-to-left the x-coordinate will indicate the desired navigation location for vertical movement. If the text flow is top-to-bottom, the y-coordinate will indicate the desired navigation location for horizontal movement.
Parameters
pthe Point to use for the saved position. This can be null to indicate there is no visual location.
Sets the visibility of the selection
Parameters
vtrue if the caret should be shown, and false if the caret should be hidden
Sets the visibility of the caret.
Parameters
vtrue if the caret should be shown, and false if the caret should be hidden