HTML 包装的字符串在 JtextPane 输出中创建了不需要的新行

HTML wrapped String creates a unwanted new line in JtextPane output

当我用HTML格式的字符串集中一个字符串,并输出到一个JTextPane HTML编辑器工具包,包裹在 HTML 标签中的每个附加字符串似乎都会导致换行:

// Set the HTML Editor kit for JTExtPAne
    jtextPane.setEditorKit(new HTMLEditorKit());

        String  saveCurrentSentenceState = "Some String";
        String newWord = "new word"; // wrap this in HTML tags

        // Create a HTML String
        String appendHTML = "<html><font color=\"red\">"+newWord+"<</font>";

        // Concatenate with an existing String
        saveCurrentSentenceState += " " + appendHTML;

        jtextPane.setText(appendHTML);

JTextPane 中的输出有不需要的换行符,其中每个 HTML 字符串已连接:

预期输出将是一行中的所有单词:

hello gello top top hello

这是打印到控制台的字符串:

 hello gello <html><font color="red">top<</font> <html><font color="red">top<</font> hello

我试过修剪字符串但输出相同:

saveCurrentSentenceState.trim();

当我在字符串后附加一个 HTML 格式的子字符串时,我没有关闭 HTML 标签,因为关闭的 HTML 标签后的任何连接字符串都不会打印。

有什么办法可以停止打印这个换行表格吗?

问题是您插入了不正确的 HTML(正如@AndrewThompson 的评论中提到的)。在您的情况下获得正确结果的最简单方法是从字符串中删除所有 <html></html> 标记,然后合并这些字符串并在之后附加 <html></html> .在这种情况下,您将得到正确的 HTML,可以由 JTextPane

HTMLEditorKit 处理