java - 像word文档一样另起一行

标签 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;
     }
  }

最佳答案

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

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

其中 jta 是您的 JTextArea 实例。

参见Java API .

编辑:根据@BackSlash的建议添加了setWrapStyleWord,如果输入的文本预计有空格分隔符(如真实文本),则更合适。这与 Word 文档的换行方式相同。为了澄清起见,区别在于 setLineWrap 会在任何字符边界后添加新行(因此,当 JTA 区域的整个宽度被填充时,无论它是否是中间单词,这些行都会分开或不),而使用 setWrapStyleWord 它将在空白边界添加新行,这意味着文本将在单词之后换行(除非行上没有空白,在这种情况下,它将表现出相同的功能作为setLineWrap)

关于java - 像word文档一样另起一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21303085/

相关文章:

java - 为什么session.invalidate在IE浏览器中不起作用?

java - Java 接受无效的正则表达式。这是 Java 错误还是对期望的错误解释

java - Eclipse/Java : adding a . css 文件到默认包

java - 如何检测java程序中的内存压力?

java - 调度作业在集群上执行两次

java - 抽象类中的方法可以使用反射来获取有关实例化类的信息吗?

java - 动态添加选项到列表首选项

java - 将## 添加到 maven 3 Artifact 名称以进行 tomcat 7 并行部署

java - 合并两个 JavaPairRDD

java - 获取我的类(class)在 Android 中所在位置的路径