好的,所以这里的错误很简单,我完全理解为什么这不起作用。基本上,我有一个JEditorPane,我现在用的,因为我需要用的东西喜欢<b>和<strike>来自HTML,然后我想添加文本到什么已经在那里了,所以我用editorPane.setText(editorPane.getText() + "<p>test</p>");然而,做调试的一点后,我想通了,那实际上给了我这个:<html> <head> </head> <body> <p> Hello </p> </body></html><p>test</p>如果你知道你的 HTML,你就知道<p>test</p>不会出现,因为它不在<body>. 这是有道理的,因为setText(getText() + text)应该只连接两个字符串。我怎能把选择的字符串中的<body>后,一边在身体保持其他一切的了吗?注意:正如您所知,HTML 格式(如<head>, <html>)会自动放置在那里,因此当我将文本设置为“Hello”时,所有这些格式都已经存在。
2 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
使用 JEditorPane 的Document 对象:
HTMLDocument doc = (HTMLDocument) editorPane.getDocument();
try {
Element lastElement = doc.getParagraphElement(doc.getLength() - 1);
doc.insertAfterEnd(lastElement, "<p>test</p>");
} catch (BadLocationException | IOException e) {
throw new RuntimeException(e);
}
添加回答
举报
0/150
提交
取消