JTextArea:如何按单词而不是字符换行?

35

我希望避免出现以下这种输出:

这里有一些文本正被字符包裹,将单词分成了两半。

我正在使用JTextArea,并调用了setLineWrap(true)方法。但是如何使其换行时只在空格或其他符号处进行?

4个回答

61

JTextArea.setWrapStyleWord(true)?


4
看 API 时完全错过了这个方法,感觉有点儿傻。谢谢。 - Cherie
2
我们需要同时使用这两个包装函数: textArea.setLineWrap(true); textArea.setWrapStyleWord(true); - Srijan Chaudhary

3
你可以进入文本字段的属性窗口,勾选“自动换行”和“按单词换行”两个选项框。 它能够完美地工作。

the properties window


2
如果您希望文字按单词换行而非字符,也就是说,如果您希望单词被拆分到下一行,请使用wrapstyleword而非linewrap。语法为:JTextArea.setwrapstyleword(true);。
注意:只有当您的linewrap已经为true时才能使用该函数。希望这能帮到您。
来源:我的笔记本
致谢 - 49/51 {自己占49%,我的ip老师Shalu女士占51%}
~ AM 17

0

要像这样按单词换行:

JtextArea textArea = new JTextArea(8, 20);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接