【问题标题】:JTextPane with HTML - local image won't load带有 HTML 的 JTextPane - 不会加载本地图像
【发布时间】:2012-02-02 18:26:17
【问题描述】:

我正在尝试将本地图像加载到 JTextPane 中,并且程序无情地显示损坏的图像图标。这是 HTML 代码:


    &ltimg src="file:\\C:\farmostrich.gif" width=77 height=777"/&gt

程序实例化 JTextPane 并显示 html 文件的其他部分(例如文本、超链接),但没有图像。

textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText(htmlString);

有什么建议吗?非常感谢大家!

【问题讨论】:

  • HTML sn-p 无效(对于任何版本的 HTML)。

标签: java swing icons jtextpane


【解决方案1】:

我喜欢这样:将图像添加到 src 文件夹中

textPane = new JTextPane();
textPane.setContentType("text/html");
String htmlString = "<html><body width=\"595\" height=\"842\">
   <div align=\"left\"><img src=\"" + this.getClass().getClassLoader()
   .getResource("images/logo_html.png").toString()+"\" /></div>.....";
textPane.setText(htmlString);

【讨论】:

    【解决方案2】:
    1. 要解释为 HTML,sn-p 需要以&lt;html&gt; 开头
    2. 显示的代码的 sn-p 不是有效的 HTML,有一个尾随 "。对于 HTML 3.2(Java 声称可以理解的唯一版本),结束符 / 也无效。
    3. 路径错误。 FileC:\farmostrich.gif(Java 中的 C:\\farmostrich.gif String)转换为 file:/C:/farmostrich.gif 的 URI

    请注意,编程不是魔术。如果你把垃圾放进去,你就会把垃圾拿出来。

    【讨论】:

    • 1.那是一个 sn-p,而不是整个 html 文件,它显然以 html, body 开头。 2.实际代码没有尾随“。我尝试了 /> 和 >,但都没有工作。3. html,至少从文件中读取时,不需要转义字符。垃圾答案输入,垃圾注释掉。
    • 你可能很清楚。如果您发布SSCCE,对我来说很明显。请注意,大多数程序员无法编写 HTML 来挽救他们的生命,所以我不打算假设您有能力。 ..特别是当单行 HTML sn-p 发布时,在 2 个方面是错误的。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    相关资源
    最近更新 更多