javax.swing.text.html

## Class HTMLEditorKit.InsertHTMLTextAction

- java.lang.Object
- - javax.swing.AbstractAction
  - - javax.swing.text.TextAction
    - - javax.swing.text.StyledEditorKit.StyledTextAction
      - - javax.swing.text.html.HTMLEditorKit.HTMLTextAction
        - - javax.swing.text.html.HTMLEditorKit.InsertHTMLTextAction

- All Implemented Interfaces:
    ActionListener, Serializable, Cloneable, EventListener, Action
  Enclosing class:
    HTMLEditorKit

      public static class HTMLEditorKit.InsertHTMLTextAction
      extends HTMLEditorKit.HTMLTextAction

  InsertHTMLTextAction can be used to insert an arbitrary string of HTML into an existing HTML document. At least two HTML.Tags need to be supplied. The first Tag, parentTag, identifies the parent in the document to add the elements to. The second tag, addTag, identifies the first tag that should be added to the document as seen in the HTML string. One important thing to remember, is that the parser is going to generate all the appropriate tags, even if they aren't in the HTML string passed in.

  For example, lets say you wanted to create an action to insert a table into the body. The parentTag would be HTML.Tag.BODY, addTag would be HTML.Tag.TABLE, and the string could be something like <table><tr><td></td></tr></table>.

  There is also an option to supply an alternate parentTag and addTag. These will be checked for if there is no parentTag at offset.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected HTML.Tag` | `addTag` | Tag in HTML to start adding tags from.
    `protected HTML.Tag` | `alternateAddTag` | Alternate tag in HTML to start adding tags from if parentTag is not found and alternateParentTag is found.
    `protected HTML.Tag` | `alternateParentTag` | Alternate Tag to check for in the document if parentTag is not found.
    `protected String` | `html` | HTML to insert.
    `protected HTML.Tag` | `parentTag` | Tag to check for in the document.

    - ### Fields inherited from class javax.swing.AbstractAction

      `changeSupport, enabled`

    - ### Fields inherited from interface javax.swing.Action

      `ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag)` |
    `InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `actionPerformed(ActionEvent ae)` | Inserts the HTML into the document.
    `protected void` | `insertAtBoundary(JEditorPane editor, HTMLDocument doc, int offset, Element insertElement, String html, HTML.Tag parentTag, HTML.Tag addTag)` | This is invoked when inserting at a boundary.
    `protected void` | `insertAtBoundry(JEditorPane editor, HTMLDocument doc, int offset, Element insertElement, String html, HTML.Tag parentTag, HTML.Tag addTag)` | Deprecated. As of Java 2 platform v1.3, use insertAtBoundary
    `protected void` | `insertHTML(JEditorPane editor, HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag addTag)` | A cover for HTMLEditorKit.insertHTML.

    - ### Methods inherited from class javax.swing.text.html.HTMLEditorKit.HTMLTextAction

      `elementCountToTag, findElementMatchingTag, getElementsAt, getHTMLDocument, getHTMLEditorKit`

    - ### Methods inherited from class javax.swing.text.StyledEditorKit.StyledTextAction

      `getEditor, getStyledDocument, getStyledEditorKit, setCharacterAttributes, setParagraphAttributes`

    - ### Methods inherited from class javax.swing.text.TextAction

      `augmentList, getFocusedComponent, getTextComponent`

    - ### Methods inherited from class javax.swing.AbstractAction

      `addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### html

          protected String html

      HTML to insert.

    - #### parentTag

          protected HTML.Tag parentTag

      Tag to check for in the document.

    - #### addTag

          protected HTML.Tag addTag

      Tag in HTML to start adding tags from.

    - #### alternateParentTag

          protected HTML.Tag alternateParentTag

      Alternate Tag to check for in the document if parentTag is not found.

    - #### alternateAddTag

          protected HTML.Tag alternateAddTag

      Alternate tag in HTML to start adding tags from if parentTag is not found and alternateParentTag is found.

  - ### Constructor Detail

    - #### InsertHTMLTextAction

          public InsertHTMLTextAction(String name,
                                      String html,
                                      HTML.Tag parentTag,
                                      HTML.Tag addTag)

    - #### InsertHTMLTextAction

          public InsertHTMLTextAction(String name,
                                      String html,
                                      HTML.Tag parentTag,
                                      HTML.Tag addTag,
                                      HTML.Tag alternateParentTag,
                                      HTML.Tag alternateAddTag)

  - ### Method Detail

    - #### insertHTML

          protected void insertHTML(JEditorPane editor,
                                    HTMLDocument doc,
                                    int offset,
                                    String html,
                                    int popDepth,
                                    int pushDepth,
                                    HTML.Tag addTag)

      A cover for HTMLEditorKit.insertHTML. If an exception it thrown it is wrapped in a RuntimeException and thrown.

    - #### insertAtBoundary

          protected void insertAtBoundary(JEditorPane editor,
                                          HTMLDocument doc,
                                          int offset,
                                          Element insertElement,
                                          String html,
                                          HTML.Tag parentTag,
                                          HTML.Tag addTag)

      This is invoked when inserting at a boundary. It determines the number of pops, and then the number of pushes that need to be performed, and then invokes insertHTML.
      Since:
        1.3

    - #### insertAtBoundry

          @Deprecated
          protected void insertAtBoundry(JEditorPane editor,
                                                     HTMLDocument doc,
                                                     int offset,
                                                     Element insertElement,
                                                     String html,
                                                     HTML.Tag parentTag,
                                                     HTML.Tag addTag)

      Deprecated. As of Java 2 platform v1.3, use insertAtBoundary
      This is invoked when inserting at a boundary. It determines the number of pops, and then the number of pushes that need to be performed, and then invokes insertHTML.

    - #### actionPerformed

          public void actionPerformed(ActionEvent ae)

      Inserts the HTML into the document.
      Parameters:
        `ae` - the 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.