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
答案 0 :(得分:5)
如果要混合字体或颜色 在文本中,或者如果你想 格式化如多行,你 可以使用HTML。 HTML格式可以 用于所有Swing按钮,菜单项, 标签,工具提示和标签窗格, 以及树木等组件 以及使用标签进行渲染的表格 文本。
请参阅此示例HtmlDemo.java
在你的例子中
JLabel label = new JLabel("<html><body>Hello world</body></html>");
您没有应用任何格式化<b>bold</b>
或<i>italic</i>
等等。
也不需要<body></body>
。
希望它有所帮助。
答案 1 :(得分:1)
我使用最新的Windows JDK在Eclipse中测试了您的JLabel
和JEditorPane
代码,使用了几种不同的外观,但它们都运行得很好。我知道你正在使用OpenJDK,但我无法掌握Windows的版本。我猜这两种实现有所不同。
我建议将文字包装在段落中,例如"<html><body><p>Hello world</p></body></html>"
?