# Package javax.swing.text

package javax.swing.text
Provides classes and interfaces that deal with editable and noneditable text components. Examples of text components are text fields and text areas, of which password fields and document editors are special instantiations. Features that are supported by this package include selection/highlighting, editing, style, and key mapping.

Note: Most of the Swing API is not thread safe. For details, see Concurrency in Swing, a section in The Java Tutorial.

## Related Documentation

For overviews, tutorials, examples, guides, and tool documentation, please see:

- Using Text Components, a section in The Java Tutorial

Since:
  1.2

Related Packages
Package
Description
javax.swing
Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
javax.swing.text.html
Provides the class `HTMLEditorKit` and supporting classes for creating HTML text editors.
javax.swing.text.rtf
Provides a class (`RTFEditorKit`) for creating Rich-Text-Format text editors.
Class
Description
AbstractDocument
An implementation of the document interface to serve as a basis for implementing various kinds of documents.
AbstractDocument.AttributeContext
An interface that can be used to allow MutableAttributeSet implementations to use pluggable attribute compression techniques.
AbstractDocument.Content
Interface to describe a sequence of character content that can be edited.
AbstractDocument.ElementEdit
An implementation of ElementChange that can be added to the document event.
AbstractWriter
AbstractWriter is an abstract class that actually does the work of writing out the element tree including the attributes.
AsyncBoxView
A box that does layout asynchronously.
AttributeSet
A collection of unique attributes.
AttributeSet.CharacterAttribute
This interface is the type signature that is expected to be present on any attribute key that contributes to character level presentation.
AttributeSet.ColorAttribute
This interface is the type signature that is expected to be present on any attribute key that contributes to presentation of color.
AttributeSet.FontAttribute
This interface is the type signature that is expected to be present on any attribute key that contributes to the determination of what font to use to render some text.
AttributeSet.ParagraphAttribute
This interface is the type signature that is expected to be present on any attribute key that contributes to the paragraph level presentation.
BadLocationException
This exception is to report bad locations within a document model (that is, attempts to reference a location that doesn't exist).
BoxView
A view that arranges its children into a box shape by tiling its children along an axis.
Caret
A place within a document view that represents where things can be inserted into the document model.
ChangedCharSetException
ChangedCharSetException as the name indicates is an exception thrown when the charset is changed.
ComponentView
Component decorator that implements the view interface.
CompositeView
`CompositeView` is an abstract `View` implementation which manages one or more child views.
DateFormatter
DateFormatter is an `InternationalFormatter` that does its formatting by way of an instance of `java.text.DateFormat`.
DefaultCaret
A default implementation of Caret.
DefaultEditorKit
This is the set of things needed by a text component to be a reasonably functioning editor for some type of text document.
DefaultEditorKit.BeepAction
Creates a beep.
DefaultEditorKit.CopyAction
Copies the selected region and place its contents into the system clipboard.
DefaultEditorKit.CutAction
Cuts the selected region and place its contents into the system clipboard.
DefaultEditorKit.DefaultKeyTypedAction
The action that is executed by default if a key typed event is received and there is no keymap entry.
DefaultEditorKit.InsertBreakAction
Places a line/paragraph break into the document.
DefaultEditorKit.InsertContentAction
Places content into the associated document.
DefaultEditorKit.InsertTabAction
Places a tab character into the document.
DefaultEditorKit.PasteAction
Pastes the contents of the system clipboard into the selected region, or before the caret if nothing is selected.
DefaultFormatter
`DefaultFormatter` formats arbitrary objects.
DefaultFormatterFactory
An implementation of `JFormattedTextField.AbstractFormatterFactory`.
DefaultHighlighter
Implements the Highlighter interfaces.
DefaultHighlighter.DefaultHighlightPainter
Simple highlight painter that fills a highlighted area with a solid color.
DefaultStyledDocument
A document that can be marked up with character and paragraph styles in a manner similar to the Rich Text Format.
DefaultStyledDocument.AttributeUndoableEdit
An UndoableEdit used to remember AttributeSet changes to an Element.
DefaultStyledDocument.ElementSpec
Specification for building elements.
DefaultTextUI
Deprecated.
Document
The `Document` is a container for text that serves as the model for swing text components.
DocumentFilter
`DocumentFilter`, as the name implies, is a filter for the `Document` mutation methods.
DocumentFilter.FilterBypass
Used as a way to circumvent calling back into the Document to change it.
EditorKit
Establishes the set of things needed by a text component to be a reasonably functioning editor for some type of text content.
Element
Interface to describe a structural piece of a document.
ElementIterator
`ElementIterator`, as the name suggests, iterates over the `Element` tree.
FieldView
Extends the multi-line plain text view to be suitable for a single-line editor view.
FlowView
A View that tries to flow it's children into some partially constrained space.
FlowView.FlowStrategy
Strategy for maintaining the physical form of the flow.
GapContent
An implementation of the AbstractDocument.Content interface implemented using a gapped buffer similar to that used by emacs.
GlyphView
A GlyphView is a styled chunk of text that represents a view mapped over an element in the text model.
GlyphView.GlyphPainter
A class to perform rendering of the glyphs.
Highlighter
An interface for an object that allows one to mark up the background with colored areas.
Highlighter.Highlight
A highlight.
Highlighter.HighlightPainter
Highlight renderer.
IconView
Icon decorator that implements the view interface.
InternationalFormatter
`InternationalFormatter` extends `DefaultFormatter`, using an instance of `java.text.Format` to handle the conversion to a String, and the conversion from a String.
JTextComponent
`JTextComponent` is the base class for swing text components.
JTextComponent.DropLocation
Represents a drop location for `JTextComponent`s.
JTextComponent.KeyBinding
Binding record for creating key bindings.
Keymap
A collection of bindings of KeyStrokes to actions.
LabelView
A `LabelView` is a styled chunk of text that represents a view mapped over an element in the text model.
LayeredHighlighter
Implementation of `Highlighter` interface to mark up the background of leaf views with colored areas.
LayeredHighlighter.LayerPainter
Layered highlight renderer.
LayoutQueue
A queue of text layout tasks.
MaskFormatter
`MaskFormatter` is used to format and edit strings.
MutableAttributeSet
A generic interface for a mutable collection of unique attributes.
NavigationFilter
`NavigationFilter` can be used to restrict where the cursor can be positioned.
NavigationFilter.FilterBypass
Used as a way to circumvent calling back into the caret to position the cursor.
NumberFormatter
`NumberFormatter` subclasses `InternationalFormatter` adding special behavior for numbers.
ParagraphView
View of a simple line-wrapping paragraph that supports multiple fonts, colors, components, icons, etc.
PasswordView
Implements a View suitable for use in JPasswordField UI implementations.
PlainDocument
A plain document that maintains no character attributes.
PlainView
Implements View interface for a simple multi-line text view that has text in one font and color.
Position
Represents a location within a document.
Position.Bias
A typesafe enumeration to indicate bias to a position in the model.
Segment
A segment of a character array representing a fragment of text.
SimpleAttributeSet
A straightforward implementation of MutableAttributeSet using a hash table.
StringContent
An implementation of the AbstractDocument.Content interface that is a brute force implementation that is useful for relatively small documents and/or debugging.
Style
A collection of attributes to associate with an element in a document.
StyleConstants
A collection of well known or common attribute keys and methods to apply to an AttributeSet or MutableAttributeSet to get/set the properties in a typesafe manner.
StyleConstants.CharacterConstants
This is a typesafe enumeration of the well-known attributes that contribute to a character style.
StyleConstants.ColorConstants
This is a typesafe enumeration of the well-known attributes that contribute to a color.
StyleConstants.FontConstants
This is a typesafe enumeration of the well-known attributes that contribute to a font.
StyleConstants.ParagraphConstants
This is a typesafe enumeration of the well-known attributes that contribute to a paragraph style.
StyleContext
A pool of styles and their associated resources.
StyledDocument
Interface for a generic styled document.
StyledEditorKit
This is the set of things needed by a text component to be a reasonably functioning editor for some type of text document.
StyledEditorKit.AlignmentAction
An action to set paragraph alignment.
StyledEditorKit.BoldAction
An action to toggle the bold attribute.
StyledEditorKit.FontFamilyAction
An action to set the font family in the associated JEditorPane.
StyledEditorKit.FontSizeAction
An action to set the font size in the associated JEditorPane.
StyledEditorKit.ForegroundAction
An action to set foreground color.
StyledEditorKit.ItalicAction
An action to toggle the italic attribute.
StyledEditorKit.StyledTextAction
An action that assumes it's being fired on a JEditorPane with a StyledEditorKit (or subclass) installed.
StyledEditorKit.UnderlineAction
An action to toggle the underline attribute.
TabableView
Interface for `View`s that have size dependent upon tabs.
TabExpander
Simple interface to allow for different types of implementations of tab expansion.
TableView
Implements View interface for a table, that is composed of an element structure where the child elements of the element this view is responsible for represent rows and the child elements of the row elements are cells.
TabSet
A TabSet is comprised of many TabStops.
TabStop
This class encapsulates a single tab stop (basically as tab stops are thought of by RTF).
TextAction
An Action implementation useful for key bindings that are shared across a number of different text components.
Utilities
A collection of methods to deal with various text related activities.
View
A very important part of the text package is the `View` class.
ViewFactory
A factory to create a view of some portion of document subject.
WrappedPlainView
View of plain text (text with only one font and color) that does line-wrapping.
ZoneView
ZoneView is a View implementation that creates zones for which the child views are not created or stored until they are needed for display or model/view translations.