问题在JEditorPane java中显示HTML

时间:2010-11-10 01:44:44

标签: java html jeditorpane

我试图在JEditorPane中显示html。最初,类型设置为“text / html”。

当我使用setPage(URL)时它工作正常并显示结果输出但是如果我有一个包含HTML代码的字符串并且我使用setText(String)在JEditorPane上显示结果没有显示任何内容我只看到白色空间。

当然,如果我将字符串中的whats复制到notpad中,将其保存为.html,然后在浏览器中正确显示生成的文件。真正的问题在于JEditorPane如何或者对字符串做什么以显示其中的内容。 JEdi​​torPane位于Jframe内部的JscrollPane中。我只使用setContentType(“text / html”)和setText(String)方法进行html显示。

有没有办法解决这个问题,而不是将生成的html代码转换为文件并使用SetPage(URL)?如果你需要它我可以发布html代码(但它非常大)。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

不知道为什么setText不起作用。但这是一种解决方法。

试试这个网址。 (URL中的整个文件)(这是当你在其中设置文本时Android的WebView调用的内容)

data:text/html;charset=utf-8,%3C%21DOCTYPE%20html%3E%0D%0A%3Chtml%20lang%3D%22en%22%3E%0D%0A%3Chead%3E%3Ctitle%3EEmbedded%20Window%3C%2Ftitle%3E%3C%2Fhead%3E%0D%0A%3Cbody%3E%3Ch1%3E42%3C%2Fh1%3E%3C%2Fbody%3E%0A%3C%2Fhtml%3E%0A%0D%0A

data:text/html;charset=utf-8,开头,然后是您的HTML。

但是你必须对它进行编码..至少你必须用%25替换%。其余的可能只是在没有编码的情况下工作。

您也可以使用此代码嵌入图像而无需调用文件

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC" />

您只需要对图像进行base64编码,然后就可以将其粘贴到其中。