java - 如何在 Java Swing 中将 html 文本附加到 JLabel
问题描述
我正在尝试将带有 HTML 标签的文本附加到已经在 JLabel 中并且也有 HTML 标签的文本中
public class BattleConsoleUI {
private JLabel battleInfo = new JLabel("<html> Hello World <br></html>");
battleInfo.setText(battleInfo.getText() +
"<html> HERO NAME : " +
"<br> HERO CLASS : " +
"<br> HERO LEVEL : " +
"<br> XP : " +
"<br> ATTACK POINTS : " +
"<br> DEFENCE POINTS : " +
"<br> HIT POINTS : " +
"</html>");
}
我希望它显示 Hello World 加上附加的文本,但由于第一个关闭 HTML 标记,其余文本未显示
解决方案
快速的解决方案是避免</html>
在文本末尾书写。Swing 只需要开始标签<html>
就可以显示 HTML 文本。就像是:
label.setText("<html>first text");
label.setText(label.getText() + " this is second"); //Still an HTML text
如果您坚持关闭 HTML 标记并</html>
在末尾使用,则必须在添加新文本之前替换它:
label.setText(label.getText().replaceAll("</html>","") + "i append a text</html>");
当然不是replaceAll
你可以使用substring
和其他东西,但这是我会使用的。
推荐阅读
- python - 在 Python 中将字符串十进制 ("anyValueD+anyValue) 转换为数值十进制
- javascript - 如何从内部回调返回 webRequest
- go - 在go中找不到来自url的公共文件
- r - Abline 不画线以绘制最小回归线
- javascript - 如何安装 NodeJS 包 node-parquet?
- python-3.x - 通过网络摄像头使用 OpenCV 捕获图像
- string - 是否可以在 Haskell 中将函数 putStrLn 应用于字符串列表的每个元素,让它打印到屏幕上,同时是非递归的
- javascript - 在消费者之外更新反应上下文?
- javascript - 在javascript中与Miss Ms串联全名
- elasticsearch - 过滤文档以匹配嵌套弹性搜索字段中的两个字段中的任何一个