# Class HTMLEditorKit.HTMLTextAction

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

All Implemented Interfaces:
  `ActionListener, Serializable, Cloneable, EventListener, Action`

Direct Known Subclasses:
  `HTMLEditorKit.InsertHTMLTextAction`

Enclosing class:
  `HTMLEditorKit`

public abstract static class HTMLEditorKit.HTMLTextAction extends StyledEditorKit.StyledTextAction
An abstract Action providing some convenience methods that may be useful in inserting HTML into an existing document.

NOTE: None of the convenience methods obtain a lock on the document. If you have another thread modifying the text these methods may have inconsistent behavior, or return the wrong thing.

- ## Field Summary

  ### Fields declared in class AbstractAction

  `changeSupport, enabled`
  Modifier and Type
  Field
  Description
  `protected SwingPropertyChangeSupport`
  `changeSupport`
  If any `PropertyChangeListeners` have been registered, the `changeSupport` field describes them.
  `protected boolean`
  `enabled`
  Specifies whether action is enabled; the default is true.

  ### Fields declared in interface 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`
  Modifier and Type
  Field
  Description
  `static final String`
  `ACCELERATOR_KEY`
  The key used for storing a `KeyStroke` to be used as the accelerator for the action.
  `static final String`
  `ACTION_COMMAND_KEY`
  The key used to determine the command `String` for the `ActionEvent` that will be created when an `Action` is going to be notified as the result of residing in a `Keymap` associated with a `JComponent`.
  `static final String`
  `DEFAULT`
  Not currently used.
  `static final String`
  `DISPLAYED_MNEMONIC_INDEX_KEY`
  The key used for storing an `Integer` that corresponds to the index in the text (identified by the `NAME` property) that the decoration for a mnemonic should be rendered at.
  `static final String`
  `LARGE_ICON_KEY`
  The key used for storing an `Icon`.
  `static final String`
  `LONG_DESCRIPTION`
  The key used for storing a longer `String` description for the action, could be used for context-sensitive help.
  `static final String`
  `MNEMONIC_KEY`
  The key used for storing an `Integer` that corresponds to one of the `KeyEvent` key codes.
  `static final String`
  `NAME`
  The key used for storing the `String` name for the action, used for a menu or button.
  `static final String`
  `SELECTED_KEY`
  The key used for storing a `Boolean` that corresponds to the selected state.
  `static final String`
  `SHORT_DESCRIPTION`
  The key used for storing a short `String` description for the action, used for tooltip text.
  `static final String`
  `SMALL_ICON`
  The key used for storing a small `Icon`, such as `ImageIcon`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HTMLTextAction(String name)`
  Creates a new HTMLTextAction from a string action name.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `elementCountToTag(HTMLDocument doc, int offset, HTML.Tag tag)`
  Returns number of elements, starting at the deepest leaf, needed to get to an element representing `tag`.
  `protected Element`
  `findElementMatchingTag(HTMLDocument doc, int offset, HTML.Tag tag)`
  Returns the deepest element at `offset` matching `tag`.
  `protected Element[]`
  `getElementsAt(HTMLDocument doc, int offset)`
  Returns an array of the Elements that contain `offset`.
  `protected HTMLDocument`
  `getHTMLDocument(JEditorPane e)`
  Returns `HTMLDocument` of the given `JEditorPane`.
  `protected HTMLEditorKit`
  `getHTMLEditorKit(JEditorPane e)`
  Returns `HTMLEditorKit` of the given `JEditorPane`.

  ### Methods declared in class StyledEditorKit.StyledTextAction

  `getEditor, getStyledDocument, getStyledEditorKit, setCharacterAttributes, setParagraphAttributes`
  Modifier and Type
  Method
  Description
  `protected final JEditorPane`
  `getEditor(ActionEvent e)`
  Gets the target editor for an action.
  `protected final StyledDocument`
  `getStyledDocument(JEditorPane e)`
  Gets the document associated with an editor pane.
  `protected final StyledEditorKit`
  `getStyledEditorKit(JEditorPane e)`
  Gets the editor kit associated with an editor pane.
  `protected final void`
  `setCharacterAttributes(JEditorPane editor, AttributeSet attr, boolean replace)`
  Applies the given attributes to character content.
  `protected final void`
  `setParagraphAttributes(JEditorPane editor, AttributeSet attr, boolean replace)`
  Applies the given attributes to paragraphs.

  ### Methods declared in class TextAction

  `augmentList, getFocusedComponent, getTextComponent`
  Modifier and Type
  Method
  Description
  `static final Action[]`
  `augmentList(Action[] list1, Action[] list2)`
  Takes one list of commands and augments it with another list of commands.
  `protected final JTextComponent`
  `getFocusedComponent()`
  Fetches the text component that currently has focus.
  `protected final JTextComponent`
  `getTextComponent(ActionEvent e)`
  Determines the component to use for the action.

  ### Methods declared in class AbstractAction

  `addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`
  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds a `PropertyChangeListener` to the listener list.
  `protected Object`
  `clone()`
  Clones the abstract action.
  `protected void`
  `firePropertyChange(String propertyName, Object oldValue, Object newValue)`
  Supports reporting bound property changes.
  `Object[]`
  `getKeys()`
  Returns an array of `Object`s which are keys for which values have been set for this `AbstractAction`, or `null` if no keys have values set.
  `PropertyChangeListener[]`
  `getPropertyChangeListeners()`
  Returns an array of all the `PropertyChangeListener`s added to this AbstractAction with addPropertyChangeListener().
  `Object`
  `getValue(String key)`
  Gets the `Object` associated with the specified key.
  `boolean`
  `isEnabled()`
  Returns true if the action is enabled.
  `void`
  `putValue(String key, Object newValue)`
  Sets the `Value` associated with the specified key.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Removes a `PropertyChangeListener` from the listener list.
  `void`
  `setEnabled(boolean newValue)`
  Sets whether the `Action` is enabled.

  ### Methods declared in class Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

  ### Methods declared in interface Action

  `accept`
  Modifier and Type
  Method
  Description
  `default boolean`
  `accept(Object sender)`
  Determines whether the action should be performed with the specified sender object.

  ### Methods declared in interface ActionListener

  `actionPerformed`
  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent e)`
  Invoked when an action occurs.

- ## Constructor Details

  - ### HTMLTextAction

    public HTMLTextAction(String name)
    Creates a new HTMLTextAction from a string action name.
    Parameters:
      `name` - the name of the action

- ## Method Details

  - ### getHTMLDocument

    protected HTMLDocument getHTMLDocument(JEditorPane e)
    Returns `HTMLDocument` of the given `JEditorPane`.
    Parameters:
      `e` - the JEditorPane
    Returns:
      HTMLDocument of `e`.

  - ### getHTMLEditorKit

    protected HTMLEditorKit getHTMLEditorKit(JEditorPane e)
    Returns `HTMLEditorKit` of the given `JEditorPane`.
    Parameters:
      `e` - the JEditorPane
    Returns:
      HTMLEditorKit for `e`.

  - ### getElementsAt

    protected Element[] getElementsAt(HTMLDocument doc, int offset)
    Returns an array of the Elements that contain `offset`. The first elements corresponds to the root.
    Parameters:
      `doc` - an instance of HTMLDocument
      `offset` - value of offset
    Returns:
      an array of the Elements that contain `offset`

  - ### elementCountToTag

    protected int elementCountToTag(HTMLDocument doc, int offset, HTML.Tag tag)
    Returns number of elements, starting at the deepest leaf, needed to get to an element representing `tag`. This will return -1 if no elements is found representing `tag`, or 0 if the parent of the leaf at `offset` represents `tag`.
    Parameters:
      `doc` - an instance of HTMLDocument
      `offset` - an offset to start from
      `tag` - tag to represent
    Returns:
      number of elements

  - ### findElementMatchingTag

    protected Element findElementMatchingTag(HTMLDocument doc, int offset, HTML.Tag tag)
    Returns the deepest element at `offset` matching `tag`.
    Parameters:
      `doc` - an instance of HTMLDocument
      `offset` - the specified offset >= 0
      `tag` - an instance of HTML.Tag
    Returns:
      the deepest element