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