javax.swing.event

## Interface DocumentListener

- All Superinterfaces:
    EventListener
  All Known Implementing Classes:
    JEditorPane.AccessibleJEditorPane, JEditorPane.AccessibleJEditorPaneHTML, JEditorPane.JEditorPaneAccessibleHypertextSupport, JPasswordField.AccessibleJPasswordField, JTextArea.AccessibleJTextArea, JTextComponent.AccessibleJTextComponent, JTextField.AccessibleJTextField

      public interface DocumentListener
      extends EventListener

  Interface for an observer to register to receive notifications of changes to a text document.

  The default implementation of the Document interface (AbstractDocument) supports asynchronous mutations. If this feature is used (i.e. mutations are made from a thread other than the Swing event thread), the listeners will be notified via the mutating thread. This means that if asynchronous updates are made, the implementation of this interface must be threadsafe!

  The DocumentEvent notification is based upon the JavaBeans event model. There is no guarantee about the order of delivery to listeners, and all listeners must be notified prior to making further mutations to the Document. This means implementations of the DocumentListener may not mutate the source of the event (i.e. the associated Document).

  See Also:
    `Document`, `StyledDocument`, `DocumentEvent`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `changedUpdate(DocumentEvent e)` | Gives notification that an attribute or set of attributes changed.
    `void` | `insertUpdate(DocumentEvent e)` | Gives notification that there was an insert into the document.
    `void` | `removeUpdate(DocumentEvent e)` | Gives notification that a portion of the document has been removed.

- - ### Method Detail

    - #### insertUpdate

          void insertUpdate(DocumentEvent e)

      Gives notification that there was an insert into the document. The range given by the DocumentEvent bounds the freshly inserted region.
      Parameters:
        `e` - the document event

    - #### removeUpdate

          void removeUpdate(DocumentEvent e)

      Gives notification that a portion of the document has been removed. The range is given in terms of what the view last saw (that is, before updating sticky positions).
      Parameters:
        `e` - the document event

    - #### changedUpdate

          void changedUpdate(DocumentEvent e)

      Gives notification that an attribute or set of attributes changed.
      Parameters:
        `e` - the document event

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.