Chapter 21. Carets, Highlighters, and Keymaps
Like some of the other Swing components (JTree, for example), the text components allow
you to do a certain amount of customization without having to implement
your own L&F. Certain aspects of these components’ behavior and
appearance can be modified directly through properties of JTextSCComponent. This chapter explains how to
modify three such components: carets, highlighters, and keymaps.
With the more flexible text components (JEditorPane and anything that extends it,
including JTextPane), you can control
the View objects created to render each
Element of the Document model. In this chapter, we’ll
concentrate on the classes and interfaces related to modifying text
components without dealing with View
objects. Chapter 23 discusses custom
View classes.
JTextComponent has three
UI-related properties that you can access and modify directly. These
properties are defined by the following interfaces:
-
Caret Keeps track of where the insertion point is located and defines how it is displayed. This includes its size and shape, its blink rate (if any), etc. (Don’t confuse this with
java.awt.Cursor, which tracks the mouse, not the insertion point.)-
Highlighter Keeps track of which text should be highlighted and how that text is visually marked. Typically, this is done by painting a solid rectangle “behind” the text, but this is up to the implementation of this interface.
-
Keymap Defines a hierarchy of
Actions to be performed when certain keys are ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access