我正在尝试为字符串中的一个字符上色,但是当我这样做时,大多数空白都消失了。为什么会发生这种情况,有什么解决办法吗?
map[9] = "# # #### #";
map[10] = "# # # #";
map[11] = "<html># # #<font color=YELLOW>.</font> #</hmtl>";
map[12] = "# ################################### # #";
map[13] = "# # # #### #";
我正在将字符串分配给数组,然后将每个字符串设置为其自己的JLabel
我已经尝试放入Unicode空格字符(普通空格\ u0020和不间断空格\ u00A0):不间断的空格有效,但是我后来不得不检查播放器位置是否有空格,并且我没有使它与\ u00A0一起正常工作。
而且,当我使用html标记作为字符串时,(文本或JLabel-我不知道两者中的哪一个)稍微向底部偏移。如何使它保持与没有html标记相同的位置?
空格消失了,因为HTML与空格无关。这意味着文档的结构和布局不取决于是否存在空格,制表符和换行符以及它们的数量。
根据规范,这是所有HTML解析器所必需的,包括JLabel中的“伪HTML”用法(JLabel仅支持基本格式的HTML的最小子集)。
可能的解决方案:
而不是Unicode。尽管这可能会导致相同的副作用<span>
,<b>
或类似元素。这可能有效,但是会很麻烦。另外,不确定JLabel是否可以处理跨度。除此之外,如果您尝试实现某种进度指示器或“搜索线”,也许有比彩色JLabel更好的解决方案,例如JProgressBar ...