# Class StyledEditorKit.StyledTextAction

java.lang.Object
javax.swing.AbstractAction
javax.swing.text.TextAction
javax.swing.text.StyledEditorKit.StyledTextAction

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

Direct Known Subclasses:
  `HTMLEditorKit.HTMLTextAction, StyledEditorKit.AlignmentAction, StyledEditorKit.BoldAction, StyledEditorKit.FontFamilyAction, StyledEditorKit.FontSizeAction, StyledEditorKit.ForegroundAction, StyledEditorKit.ItalicAction, StyledEditorKit.UnderlineAction`

Enclosing class:
  `StyledEditorKit`

public abstract static class StyledEditorKit.StyledTextAction extends TextAction
An action that assumes it's being fired on a JEditorPane with a StyledEditorKit (or subclass) installed. This has some convenience methods for causing character or paragraph level attribute changes. The convenience methods will throw an IllegalArgumentException if the assumption of a StyledDocument, a JEditorPane, or a StyledEditorKit fail to be true.

The component that gets acted upon by the action will be the source of the ActionEvent if the source can be narrowed to a JEditorPane type. If the source can't be narrowed, the most recently focused text component is changed. If neither of these are the case, the action cannot be performed.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

## 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
`StyledTextAction(String nm)`
Creates a new StyledTextAction from a string action name.

## Method Summary

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

### StyledTextAction

public StyledTextAction(String nm)
Creates a new StyledTextAction from a string action name.

Parameters:
  `nm` - the name of the action

## Method Details

### getEditor

protected final JEditorPane getEditor(ActionEvent e)
Gets the target editor for an action.

Parameters:
  `e` - the action event
Returns:
  the editor

### getStyledDocument

protected final StyledDocument getStyledDocument(JEditorPane e)
Gets the document associated with an editor pane.

Parameters:
  `e` - the editor
Returns:
  the document
Throws:
  `IllegalArgumentException` - for the wrong document type

### getStyledEditorKit

protected final StyledEditorKit getStyledEditorKit(JEditorPane e)
Gets the editor kit associated with an editor pane.

Parameters:
  `e` - the editor pane
Returns:
  the kit
Throws:
  `IllegalArgumentException` - for the wrong document type

### setCharacterAttributes

protected final void setCharacterAttributes(JEditorPane editor, AttributeSet attr, boolean replace)
Applies the given attributes to character content. If there is a selection, the attributes are applied to the selection range. If there is no selection, the attributes are applied to the input attribute set which defines the attributes for any new text that gets inserted.

Parameters:
  `editor` - the editor
  `attr` - the attributes
  `replace` - if true, then replace the existing attributes first

### setParagraphAttributes

protected final void setParagraphAttributes(JEditorPane editor, AttributeSet attr, boolean replace)
Applies the given attributes to paragraphs. If there is a selection, the attributes are applied to the paragraphs that intersect the selection. if there is no selection, the attributes are applied to the paragraph at the current caret position.

Parameters:
  `editor` - the editor
  `attr` - the attributes
  `replace` - if true, replace the existing attributes first