猿问

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

好的,所以这里的错误很简单,我完全理解为什么这不起作用。基本上,我有一个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”时,所有这些格式都已经存在。


慕尼黑5688855
浏览 124回答 2
2回答

交互式爱情

使用 JEditorPane 的Document 对象:HTMLDocument doc = (HTMLDocument) editorPane.getDocument();try {&nbsp; &nbsp; Element lastElement = doc.getParagraphElement(doc.getLength() - 1);&nbsp; &nbsp; doc.insertAfterEnd(lastElement, "<p>test</p>");} catch (BadLocationException | IOException e) {&nbsp; &nbsp; throw new RuntimeException(e);}
随时随地看视频慕课网APP

相关分类

Java
我要回答