像word文档一样开始一个新行

时间:2014-01-23 08:35:32

标签: java

我需要我的程序在一定数量的字符后包装行,就像在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;
     }
  }

1 个答案:

答案 0 :(得分:3)

如果它是一个GUI应用程序并且您使用的是JTextArea,则只需添加以下行:

jta.setLineWrap(true)
jta.setWrapStyleWord(true)

其中jta是您的JTextArea实例。

请参阅Java API

编辑:根据@ BackSlash的建议添加了setWrapStyleWord,如果输入的文本预计会有空格,例如真实文本,则更合适。这与word文档包装的方式相同。为了澄清,区别在于只有setLineWrap将在任何字符边界之后添加新行(因此当JTA区域的整个宽度被填充时,无论是否为中间单词,行都将分割)而对于setWrapStyleWord,它将在空白边界处添加新行,这意味着文本将被包装在一个单词之后(除非行中没有空格,否则它将显示与setLineWrap相同的功能)