# 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