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 declared in class javax.swing.AbstractAction
changeSupport, enabled
Fields declared in 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)
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 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 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 javax.swing.text.html.HTMLEditorKit.HTMLTextAction
elementCountToTag, findElementMatchingTag, getElementsAt, getHTMLDocument, getHTMLEditorKit
Methods declared in class javax.swing.text.StyledEditorKit.StyledTextAction
getEditor, getStyledDocument, getStyledEditorKit, setCharacterAttributes, setParagraphAttributes
Methods declared in class javax.swing.text.TextAction
augmentList, getFocusedComponent, getTextComponent
Methods declared in class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
-
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
Creates a new InsertHTMLTextAction.- Parameters:
name
- a name of the actionhtml
- an HTML stringparentTag
- a parent tagaddTag
- the first tag to start inserting into document
-
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
-