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
- 所有已实现的接口:
-
ActionListener
,Serializable
,Cloneable
,EventListener
,Action
- 封装类:
-
HTMLEditorKit
InsertHTMLTextAction可用于将任意HTML字符串插入现有HTML文档中。至少需要提供两个HTML.Tags。第一个标签parentTag标识要将元素添加到的文档中的父级。第二个标签addTag标识应作为HTML字符串中的第一个标签添加到文档中的第一个标签。一个重要的事情要记住的是,解析器将生成所有适当的标签,即使它们不在传入的HTML字符串中也是如此。
例如,假设您想要创建一个将表格插入到正文中的操作。parentTag将是HTML.Tag.BODY,addTag将是HTML.Tag.TABLE,字符串可以是类似<table><tr><td></td></tr></table>的内容。
还有一个选项可以提供替代的parentTag和addTag。如果在偏移处找不到parentTag,则会检查这些标签。
-
Field Summary
Modifier and TypeFieldDescriptionprotected HTML.Tag
从HTML中开始添加标签的标签。protected HTML.Tag
如果未找到parentTag但找到alternateParentTag,则从HTML中开始添加标签的替代标签。protected HTML.Tag
如果未找到parentTag,则在文档中检查的替代标签。protected String
要插入的HTML。protected HTML.Tag
在文档中检查的标签。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
ConstructorDescriptionInsertHTMLTextAction
(String name, String html, HTML.Tag parentTag, HTML.Tag addTag) 创建一个新的InsertHTMLTextAction。InsertHTMLTextAction
(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag) 创建一个新的InsertHTMLTextAction。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
将HTML插入文档中。protected void
insertAtBoundary
(JEditorPane editor, HTMLDocument doc, int offset, Element insertElement, String html, HTML.Tag parentTag, HTML.Tag addTag) 在边界处插入时调用此方法。protected void
insertAtBoundry
(JEditorPane editor, HTMLDocument doc, int offset, Element insertElement, String html, HTML.Tag parentTag, HTML.Tag addTag) 已弃用。从Java 2平台v1.3开始,请使用insertAtBoundaryprotected void
insertHTML
(JEditorPane editor, HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag addTag) 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。 -
parentTag
在文档中检查的标签。 -
addTag
从HTML中开始添加标签的标签。 -
alternateParentTag
如果未找到parentTag,则在文档中检查的替代标签。 -
alternateAddTag
如果未找到parentTag但找到alternateParentTag,则从HTML中开始添加标签的替代标签。
-
-
Constructor Details
-
InsertHTMLTextAction
创建一个新的InsertHTMLTextAction。- 参数:
-
name
- 操作的名称 -
html
- 一个HTML字符串 -
parentTag
- 父标签 -
addTag
- 要开始插入文档的第一个标签
-
InsertHTMLTextAction
public InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag, HTML.Tag alternateParentTag, HTML.Tag alternateAddTag) 创建一个新的InsertHTMLTextAction。- 参数:
-
name
- 操作的名称 -
html
- 一个HTML字符串 -
parentTag
- 父标签 -
addTag
- 要开始插入文档的第一个标签 -
alternateParentTag
- 替代父标签 -
alternateAddTag
- 替代标签
-
-
Method Details
-
insertHTML
protected void insertHTML(JEditorPane editor, HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag addTag) HTMLEditorKit.insertHTML的封装。如果抛出异常,则将其包装在RuntimeException中并抛出。- 参数:
-
editor
- JEditorPane的实例 -
doc
- 要插入的文档 -
offset
- 要插入HTML的偏移量 -
html
- 一个HTML字符串 -
popDepth
- 在插入之前生成的ElementSpec.EndTagTypes的数量 -
pushDepth
- 在生成结束标签之后但在插入之前生成的具有ElementSpec.JoinNextDirection方向的ElementSpec.StartTagTypes的数量 -
addTag
- 要开始插入文档的第一个标签
-
insertAtBoundary
protected void insertAtBoundary(JEditorPane editor, HTMLDocument doc, int offset, Element insertElement, String html, HTML.Tag parentTag, HTML.Tag addTag) 在边界处插入时调用此方法。它确定需要执行的弹出次数,然后是需要执行的推送次数,然后调用insertHTML。- 参数:
-
editor
- JEditorPane的实例 -
doc
- HTMLDocument的实例 -
offset
- 起始偏移量 -
insertElement
- Element的实例 -
html
- 一个HTML字符串 -
parentTag
- 父标签 -
addTag
- 要开始插入文档的第一个标签 - 自1.3版本起:
- 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 insertAtBoundary在边界处插入时调用此方法。它确定需要执行的弹出次数,然后是需要执行的推送次数,然后调用insertHTML。- 参数:
-
editor
- JEditorPane的实例 -
doc
- HTMLDocument的实例 -
offset
- 起始偏移量 -
insertElement
- Element的实例 -
html
- 一个HTML字符串 -
parentTag
- 父标签 -
addTag
- 要开始插入文档的第一个标签
-
actionPerformed
将HTML插入文档中。- 参数:
-
ae
- 事件
-