我在向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:现在这很有趣。我在不同的计算机上运行代码,并且显示为预防性的下划线和下划线,而我曾经问过这个问题的计算机没有。 我现在看到为什么在搜索解决方案时我找不到任何东西。
答案 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>
标记(但仍不建议将来用于更新)。