我需要我的程序在一定数量的字符后包装行,就像在Microsoft Word中一样。该程序应该采用大文本并将其转换为所有大写或小写。它最终在屏幕末端运行,我买不起更大的。
我现在拥有的只是一个人物,可能在一个单词的中间,最终看起来很奇怪。
int linecount = 0;
for(int i = 0; i < ask.length(); i++)
{
askformat += ask.charAt(i);
linecount++;
if (linecount==50)
{
askformat += '\n';
linecount = 0;
}
}
答案 0 :(得分:3)
如果它是一个GUI应用程序并且您使用的是JTextArea,则只需添加以下行:
jta.setLineWrap(true)
jta.setWrapStyleWord(true)
其中jta是您的JTextArea实例。
请参阅Java API。
编辑:根据@ BackSlash的建议添加了setWrapStyleWord
,如果输入的文本预计会有空格,例如真实文本,则更合适。这与word文档包装的方式相同。为了澄清,区别在于只有setLineWrap
将在任何字符边界之后添加新行(因此当JTA区域的整个宽度被填充时,无论是否为中间单词,行都将分割)而对于setWrapStyleWord
,它将在空白边界处添加新行,这意味着文本将被包装在一个单词之后(除非行中没有空格,否则它将显示与setLineWrap
相同的功能)