Swing JLabel - 通过HTML文本进行攻击

时间:2015-11-06 09:55:41

标签: java html swing

我在向Java中的文本字符串添加HTML删除标记时遇到问题。

编辑:我发布了整个代码,我使用的是Windows 7,Java 8和Swing。

JLabel LocalSelectorLabel = new JLabel("<html><strike>Text Here</strike><html>");
LocalSelectorLabel.setBounds(12, 50, 55, 16);
LocalTabPanel.add(LocalSelectorLabel);

我尝试过标签: s del strike 但是所有这些标签都只是给我带下划线的文字。 我一直在寻找可能有用的其他标签,但我还没找到任何东西。

编辑2:这对我有用,谢谢:

new JLabel("<html><body><span style='text-decoration: line-through;'>Text Here</span></body></html>");

编辑3:现在这很有趣。我在不同的计算机上运行代码,并且显示为预防性的下划线和下划线,而我曾经问过这个问题的计算机没有。 我现在看到为什么在搜索解决方案时我找不到任何东西。

3 个答案:

答案 0 :(得分:6)

"<html></strike>Text Here</strike><html>"

应该是:

"<html><strike>Text Here</strike><html>"

'开放'</strike>标记应为<strike>

顺便说一句,使用HTML validator检查HTML绝对不会受到伤害。对于'Swing HTML',将其设置为HTML 3.2(或4.01过渡,如果它们停止支持3.2)。

答案 1 :(得分:5)

作为@Gaël的继续回答,使用css,您可以使用以下代码实现您想要的结果:

new JLabel("<html><body><span style='text-decoration: line-through;'>Text Here</span></body></html>");

答案 2 :(得分:1)

请注意<strike>标记不是HTML5的一部分,您应该使用CSS来实现此目标。

编辑:您使用的是Swing,因此存在HTML 3.2和<strike>标记(但仍不建议将来用于更新)。