如何删除JTextPane中的第一行并设置setContentType(“text / html”)

时间:2015-02-24 12:14:43

标签: java jtextpane

我想删除JTextPane中的第一行并设置setContentType(" text / html");能够在JTextPane中使用html标签。

当我使用此代码时

的setContentType(" text / html的&#34);

try {
  Element root = getDocument().getDefaultRootElement();
  Element firstLine = root.getElement(0);
  getDocument().remove(firstLine.getStartOffset(), firstLine.getEndOffset());
   }
catch (Exception e) {e.toString();}

我得到了一个例外

javax.swing.text.BadLocationException: Invalid remove

如果我评论了setContentType(" text / html");我可以从JTextPane中删除第一行。

1 个答案:

答案 0 :(得分:1)

对于HTMLEditorKit,Element firstLine = root.getElement(0);通常会返回<HEAD>,但您需要<BODY>。浏览元素树,找到BODY并删除BODY的第一个孩子。

更新: 该链接显示了一个可用于了解文档结构的工具。 http://java-sl.com/JEditorPaneStructureTool.html

您可以检查您拥有的元素,并确定应该删除哪个元素。