# Package javax.swing.text

Provides classes and interfaces that deal with editable and noneditable text components.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  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.
  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.
  Caret | A place within a document view that represents where things can be inserted into the document model.
  Document | The `Document` is a container for text that serves as the model for swing text components.
  Element | Interface to describe a structural piece of a document.
  Highlighter | An interface for an object that allows one to mark up the background with colored areas.
  Highlighter.Highlight |
  Highlighter.HighlightPainter | Highlight renderer.
  Keymap | A collection of bindings of KeyStrokes to actions.
  MutableAttributeSet | A generic interface for a mutable collection of unique attributes.
  Position | Represents a location within a document.
  Style | A collection of attributes to associate with an element in a document.
  StyledDocument | Interface for a generic styled document.
  TabableView | Interface for `View`s that have size dependent upon tabs.
  TabExpander | Simple interface to allow for different types of implementations of tab expansion.
  ViewFactory | A factory to create a view of some portion of document subject.

- Class Summary
  Class | Description
  --- | ---
  AbstractDocument | An implementation of the document interface to serve as a basis for implementing various kinds of documents.
  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.
  BoxView | A view that arranges its children into a box shape by tiling its children along an axis.
  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
  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.
  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.
  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.
  LabelView | A `LabelView` is a styled chunk of text that represents a view mapped over an element in the text model.
  LayeredHighlighter |
  LayeredHighlighter.LayerPainter | Layered highlight renderer.
  LayoutQueue | A queue of text layout tasks.
  MaskFormatter | `MaskFormatter` is used to format and edit strings.
  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.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.
  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.
  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.
  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.
  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.

- Exception Summary
  Exception | Description
  --- | ---
  BadLocationException | This exception is to report bad locations within a document model (that is, attempts to reference a location that doesn't exist).
  ChangedCharSetException | ChangedCharSetException as the name indicates is an exception thrown when the charset is changed.

## Package javax.swing.text Description

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 Threads and 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.