为了账号安全,请及时绑定邮箱和手机立即绑定

如何在保留先前文本的同时输入到 HTML JEditorPane?

如何在保留先前文本的同时输入到 HTML JEditorPane?

慕尼黑5688855 2021-10-28 15:07:31
好的,所以这里的错误很简单,我完全理解为什么这不起作用。基本上,我有一个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);

}


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信