我需要在 GWT 标签中插入换行符。<br>不起作用,\n或者也不起作用\u000a(当我尝试将其添加为字符串文字时,它也恰好是非法转义字符 - 有人知道为什么吗?)
是的,我可以制作两个单独的标签,但我需要在大约 30 个标签上执行此操作,并且我希望有一种更快的方法来解决此问题。
我根本无法使用 HTML,甚至不允许 safeHtml。我知道,在 HTML 中很容易做到这一点,如下所述:带有换行符的 GWT label
如果你能证明这是不可能的,我也会接受它作为答案(可以吗?看起来应该可以。似乎我们应该有某种特殊的方式来接受答案来验证某件事是不可能的,也许我应该在 Meta 中提到这一点)。
你可以尝试一个小技巧。将所有空格替换为不间断空格,然后将换行符替换为空格。最后,将Label宽度设置为 1%,以强制在任何可能的位置换行(现在是替换换行符的空格)。
private Label getMultilineLabel(String text) {
Label label = new Label(text.replaceAll(" +", "\u00a0").replaceAll("\n", " "));
label.setWidth("1%");
return label;
}
Run Code Online (Sandbox Code Playgroud)
然后
getMultilineLabel("Some quite long text\nwith a line break.");
Run Code Online (Sandbox Code Playgroud)
给出
Some quite long text
with a line break.
Run Code Online (Sandbox Code Playgroud)