如何将特定单词放在一行中?

How to keep specific words together on one line?

我有一个示例段落,我正在将块值添加到 :

p.add(firstname);
p.add(lastname);
p.add(phone);
p.add(login);

是否可以检测块在页面上的位置?

比如firstname和lastname加在段落上,后面的字符串(phone)超出页面中间,我加

Chunk.NEWLINE

然后转到新行。

有更好的方法可以实现您想要的。将所有不需要换行的 space 替换为 \u00a0。这样,您就不必检查位置等(只有计算每个 String 片段的宽度才有可能。)

例如,如果您这样做:

p.add("Valeriane\u0060Valerius 012\u0060345\u006067\u006089 valerianelogin");

String 只能在两个地方拆分(除非你使用了太多不间断的 space 以至于你占用了太多 space 而你不占用的部分想打破甚至不适合一行)。