Module java.desktop

Class HTMLEditorKit.InsertHTMLTextAction

所有已实现的接口:
ActionListener, Serializable, Cloneable, EventListener, Action
封装类:
HTMLEditorKit

public static class HTMLEditorKit.InsertHTMLTextAction extends HTMLEditorKit.HTMLTextAction
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 Details

    • html

      protected String html
      要插入的HTML。
    • parentTag

      protected HTML.Tag parentTag
      在文档中检查的标签。
    • addTag

      protected HTML.Tag addTag
      从HTML中开始添加标签的标签。
    • alternateParentTag

      protected HTML.Tag alternateParentTag
      如果未找到parentTag,则在文档中检查的替代标签。
    • alternateAddTag

      protected HTML.Tag alternateAddTag
      如果未找到parentTag但找到alternateParentTag,则从HTML中开始添加标签的替代标签。
  • Constructor Details

    • InsertHTMLTextAction

      public InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag)
      创建一个新的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

      public void actionPerformed(ActionEvent ae)
      将HTML插入文档中。
      参数:
      ae - 事件