javax.swing.text (Java SE 25 & JDK 25)
Description: declaration: module: java.desktop, package: javax.swing.text
Keywords: javax.swing.text package

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