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
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
FieldsModifier and TypeFieldDescriptionprotected HTML.Tag
Tag in HTML to start adding tags from.protected HTML.Tag
Alternate tag in HTML to start adding tags from if parentTag is not found and alternateParentTag is found.protected HTML.Tag
Alternate Tag to check for in the document if parentTag is not found.protected String
HTML to insert.protected HTML.Tag
Tag to check for in the document.Fields declared in class AbstractAction
changeSupport, enabled
Modifier and TypeFieldDescriptionprotected SwingPropertyChangeSupport
If anyPropertyChangeListeners
have been registered, thechangeSupport
field describes them.protected boolean
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 TypeFieldDescriptionstatic final String
The key used for storing aKeyStroke
to be used as the accelerator for the action.static final String
The key used to determine the commandString
for theActionEvent
that will be created when anAction
is going to be notified as the result of residing in aKeymap
associated with aJComponent
.static final String
Not currently used.static final String
The key used for storing anInteger
that corresponds to the index in the text (identified by theNAME
property) that the decoration for a mnemonic should be rendered at.static final String
The key used for storing anIcon
.static final String
The key used for storing a longerString
description for the action, could be used for context-sensitive help.static final String
The key used for storing anInteger
that corresponds to one of theKeyEvent
key codes.static final String
The key used for storing theString
name for the action, used for a menu or button.static final String
The key used for storing aBoolean
that corresponds to the selected state.static final String
The key used for storing a shortString
description for the action, used for tooltip text.static final String
The key used for storing a smallIcon
, such asImageIcon
. -
Constructor Summary
ConstructorsConstructorDescriptionInsertHTMLTextAction
(String name, String html, HTML.Tag parentTag, HTML.Tag addTag) Creates a new InsertHTMLTextAction.InsertHTMLTextAction
(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag) Creates a new InsertHTMLTextAction. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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 insertAtBoundaryprotected void
insertHTML
(JEditorPane editor, HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag addTag) A cover for HTMLEditorKit.insertHTML.Methods declared in class HTMLEditorKit.HTMLTextAction
elementCountToTag, findElementMatchingTag, getElementsAt, getHTMLDocument, getHTMLEditorKit
Modifier and TypeMethodDescriptionprotected int
elementCountToTag
(HTMLDocument doc, int offset, HTML.Tag tag) Returns number of elements, starting at the deepest leaf, needed to get to an element representingtag
.protected Element
findElementMatchingTag
(HTMLDocument doc, int offset, HTML.Tag tag) Returns the deepest element atoffset
matchingtag
.protected Element[]
getElementsAt
(HTMLDocument doc, int offset) Returns an array of the Elements that containoffset
.protected HTMLDocument
ReturnsHTMLDocument
of the givenJEditorPane
.protected HTMLEditorKit
ReturnsHTMLEditorKit
of the givenJEditorPane
.Methods declared in class StyledEditorKit.StyledTextAction
getEditor, getStyledDocument, getStyledEditorKit, setCharacterAttributes, setParagraphAttributes
Modifier and TypeMethodDescriptionprotected final JEditorPane
Gets the target editor for an action.protected final StyledDocument
Gets the document associated with an editor pane.protected final StyledEditorKit
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 TypeMethodDescriptionstatic final Action[]
augmentList
(Action[] list1, Action[] list2) Takes one list of commands and augments it with another list of commands.protected final JTextComponent
Fetches the text component that currently has focus.protected final JTextComponent
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 TypeMethodDescriptionvoid
Adds aPropertyChangeListener
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 ofObject
s which are keys for which values have been set for thisAbstractAction
, ornull
if no keys have values set.Returns an array of all thePropertyChangeListener
s added to this AbstractAction with addPropertyChangeListener().Gets theObject
associated with the specified key.boolean
Returns true if the action is enabled.void
Sets theValue
associated with the specified key.void
Removes aPropertyChangeListener
from the listener list.void
setEnabled
(boolean newValue) Sets whether theAction
is enabled.Methods declared in class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and TypeMethodDescriptionboolean
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 thisObject
.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
Wakes up all threads that are waiting on this object's monitor.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.
-
Field Details
-
html
HTML to insert. -
parentTag
Tag to check for in the document. -
addTag
Tag in HTML to start adding tags from. -
alternateParentTag
Alternate Tag to check for in the document if parentTag is not found. -
alternateAddTag
Alternate tag in HTML to start adding tags from if parentTag is not found and alternateParentTag is found.
-
-
Constructor Details
-
InsertHTMLTextAction
-
InsertHTMLTextAction
public InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag) Creates a new InsertHTMLTextAction.- Parameters:
name
- a name of the actionhtml
- an HTML stringparentTag
- a parent tagaddTag
- the first tag to start inserting into documentalternateParentTag
- an alternative parent tagalternateAddTag
- an alternative tag
-
-
Method Details
-
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.- Parameters:
editor
- an instance of JEditorPanedoc
- the document to insert intooffset
- the offset to insert HTML athtml
- an HTML stringpopDepth
- the number of ElementSpec.EndTagTypes to generate before insertingpushDepth
- the number of ElementSpec.StartTagTypes with a direction of ElementSpec.JoinNextDirection that should be generated before inserting, but after the end tags have been generatedaddTag
- the first tag to start inserting into document
-
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.- Parameters:
editor
- an instance of JEditorPanedoc
- an instance of HTMLDocumentoffset
- an offset to start frominsertElement
- an instance of Elementhtml
- an HTML stringparentTag
- a parent tagaddTag
- the first tag to start inserting into document- 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 insertAtBoundaryThis 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.- Parameters:
editor
- an instance of JEditorPanedoc
- an instance of HTMLDocumentoffset
- an offset to start frominsertElement
- an instance of Elementhtml
- an HTML stringparentTag
- a parent tagaddTag
- the first tag to start inserting into document
-
actionPerformed
Inserts the HTML into the document.- Parameters:
ae
- the event
-