javax.swing.text.html
Class HTMLEditorKit.InsertHTMLTextAction

java.lang.Object
  extended byjavax.swing.AbstractAction
      extended byjavax.swing.text.TextAction
          extended byjavax.swing.text.StyledEditorKit.StyledTextAction
              extended byjavax.swing.text.html.HTMLEditorKit.HTMLTextAction
                  extended byjavax.swing.text.html.HTMLEditorKit.InsertHTMLTextAction
All Implemented Interfaces:
Action, ActionListener, Cloneable, EventListener, Serializable
Direct Known Subclasses:
HTMLEditorKit.InsertHRAction
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.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.AbstractAction
 
Field Summary
protected  HTML.Tag addTag
          Tag in HTML to start adding tags from.
(package private)  boolean adjustSelection
          True indicates the selection should be adjusted after an insert.
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 inherited from class javax.swing.AbstractAction
changeSupport, enabled
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
  HTMLEditorKit.InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag)
           
  HTMLEditorKit.InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag)
           
(package private) HTMLEditorKit.InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag, boolean adjustSelection)
           
 
Method Summary
 void actionPerformed(ActionEvent ae)
          Inserts the HTML into the document.
(package private)  void adjustSelection(JEditorPane pane, HTMLDocument doc, int startOffset, int oldLength)
          Called after an insertion to adjust the selection.
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 insertAtBoundary
protected  void insertHTML(JEditorPane editor, HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag addTag)
          A cover for HTMLEditorKit.insertHTML.
(package private)  boolean insertIntoTag(JEditorPane editor, HTMLDocument doc, int offset, HTML.Tag tag, HTML.Tag addTag)
          If there is an Element with name tag at offset, this will invoke either insertAtBoundary or insertHTML.
 
Methods inherited from class javax.swing.text.html.HTMLEditorKit.HTMLTextAction
elementCountToTag, findElementMatchingTag, getElementsAt, getHTMLDocument, getHTMLEditorKit
 
Methods inherited from class javax.swing.text.StyledEditorKit.StyledTextAction
getEditor, getStyledDocument, getStyledEditorKit, setCharacterAttributes, setParagraphAttributes
 
Methods inherited from class javax.swing.text.TextAction
augmentList, getFocusedComponent, getTextComponent
 
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

html

protected String html
HTML to insert.


parentTag

protected HTML.Tag parentTag
Tag to check for in the document.


addTag

protected HTML.Tag addTag
Tag in HTML to start adding tags from.


alternateParentTag

protected HTML.Tag alternateParentTag
Alternate Tag to check for in the document if parentTag is not found.


alternateAddTag

protected HTML.Tag alternateAddTag
Alternate tag in HTML to start adding tags from if parentTag is not found and alternateParentTag is found.


adjustSelection

boolean adjustSelection
True indicates the selection should be adjusted after an insert.

Constructor Detail

HTMLEditorKit.InsertHTMLTextAction

public HTMLEditorKit.InsertHTMLTextAction(String name,
                                          String html,
                                          HTML.Tag parentTag,
                                          HTML.Tag addTag)

HTMLEditorKit.InsertHTMLTextAction

public HTMLEditorKit.InsertHTMLTextAction(String name,
                                          String html,
                                          HTML.Tag parentTag,
                                          HTML.Tag addTag,
                                          HTML.Tag alternateParentTag,
                                          HTML.Tag alternateAddTag)

HTMLEditorKit.InsertHTMLTextAction

HTMLEditorKit.InsertHTMLTextAction(String name,
                                   String html,
                                   HTML.Tag parentTag,
                                   HTML.Tag addTag,
                                   HTML.Tag alternateParentTag,
                                   HTML.Tag alternateAddTag,
                                   boolean adjustSelection)
Method Detail

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.


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.

Since:
1.3

insertAtBoundry

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 insertAtBoundary

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.


insertIntoTag

boolean insertIntoTag(JEditorPane editor,
                      HTMLDocument doc,
                      int offset,
                      HTML.Tag tag,
                      HTML.Tag addTag)
If there is an Element with name tag at offset, this will invoke either insertAtBoundary or insertHTML. This returns true if there is a match, and one of the inserts is invoked.


adjustSelection

void adjustSelection(JEditorPane pane,
                     HTMLDocument doc,
                     int startOffset,
                     int oldLength)
Called after an insertion to adjust the selection.


actionPerformed

public void actionPerformed(ActionEvent ae)
Inserts the HTML into the document.

Parameters:
ae - the event