【问题标题】:HTML in JLabel not showingJLabel 中的 HTML 未显示
【发布时间】:2011-07-04 09:35:09
【问题描述】:
JLabel label = new JLabel("<html><body>Hello world</body></html>");

什么都不显示。

如果我去掉标签,它会显示纯文本(如预期的那样),所以肯定会添加 JLabel 并显示在窗口上。

同样适用于:

JEditorPane jep = new JEditorPane("text/html", "<html><body>Hello world</body></html>");

有什么想法吗?

我在 Eclipse 中使用 java-6-openjdk。更多详情:

matt@matt-laptop:~$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.5) (6b20-1.9.5-0ubuntu1~10.04.1)
OpenJDK Server VM (build 19.0-b09, mixed mode)

matt@matt-laptop:~$ javac -version
javac 1.6.0_24

【问题讨论】:

  • 您的代码适用于我在 Java(TM) SE 运行时环境中。
  • 如果你想在文本中混合字体或颜色,或者如果你想格式化比如多行,你可以使用 HTML。 HTML 格式可用于所有 Swing 按钮、菜单项、标签、工具提示和选项卡式窗格,以及使用标签呈现文本的树和表格等组件中。 你是什么格式努力实现?
  • 参考这个例子HtmlDemo.java
  • @Alpine,这个例子确实对我有用!现在我只需要找出它的不同之处..
  • 这个错误报告可能是相关的 (bugs.sun.com/bugdatabase/view_bug.do?bug_id=6993691)。

标签: java html swing jlabel


【解决方案1】:

我已经使用最新的 Windows JDK 在 Eclipse 中测试了您的 JLabelJEditorPane 代码,使用了几种不同的外观,但它们都运行良好。我知道您正在使用 OpenJDK,但我无法获得适用于 Windows 的版本。我猜这两种实现方式有所不同。

我是否可以建议将您的文本包含在一个段落中,例如"&lt;html&gt;&lt;body&gt;&lt;p&gt;Hello world&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"

【讨论】:

    【解决方案2】:

    如果你想混合字体或颜色 在文本中,或者如果你想要 格式如多行,你 可以使用 HTML。 HTML 格式可以是 用于所有 Swing 按钮、菜单项、 标签、工具提示和选项卡式窗格, 以及在树等组件中 和使用标签呈现的表格 文本。

    参考这个例子HtmlDemo.java


    在你的例子中

     JLabel label = new JLabel("<html><body>Hello world</body></html>"); 
    

    您没有应用任何格式,例如 &lt;b&gt;bold&lt;/b&gt;&lt;i&gt;italic&lt;/i&gt; 等。

    &lt;body&gt;&lt;/body&gt; 也不是必需的。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多