我想删除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中删除第一行。
答案 0 :(得分:1)
对于HTMLEditorKit,Element firstLine = root.getElement(0);
通常会返回<HEAD>
,但您需要<BODY>
。浏览元素树,找到BODY并删除BODY的第一个孩子。
更新: 该链接显示了一个可用于了解文档结构的工具。 http://java-sl.com/JEditorPaneStructureTool.html
您可以检查您拥有的元素,并确定应该删除哪个元素。