将多行JTextArea写入txt文件

时间:2011-10-04 12:43:39

标签: java swing jtextarea filewriter stringbuffer

所以我有JTextArea用户输入,然后当他们点击按钮将其写入文本文件时,我将setLineWrapsetWrapStyleWord设置为{{1} } true

我想在文本文件中写出它在文本框中显示的确切方式。

我试图在JTextArea上保留replace("\n", System.getProperty("line.separator"))的内容String,但只有当用户在键入输入时实际点击返回键时才会这样做,但是如果用户只是一直打字并点击一行,那么它会跳到它下面的一行,JTextArea不起作用。

我还尝试使用replace,我计算了在线适合的字符数,然后在每行末尾运行StringBuffer for loop个新行,以便第一行我会将其添加到位置inserting,第二行添加到90,第三行添加到180,依此类推。但我很快意识到这并不适用于所有情况,因为某些字符比其他字符小,例如,您可以在270的单行上放置j。{/ p>

我想做的只是找出计算一行结束的方法,以便知道新行的p位置,但我也对其他建议持开放态度。谢谢。如果你认为看到我的一些代码就会有所帮助。

更新 我没有实现代码来执行此操作,而是与那些使用此程序的人之一进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在记事本中检查了wordWrap格式设置然后将消除他必须使用侧滚动以读取整行,感谢您的输入

2 个答案:

答案 0 :(得分:5)

使用Utilities

public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)

传递偏移并获得行开始和结束的偏移量

答案 1 :(得分:1)

除了使用字体指标计算单词长度并执行文本区域已经完成的操作外,我不知道怎么做。

这背后的目的是什么?