所以我有JTextArea
用户输入,然后当他们点击按钮将其写入文本文件时,我将setLineWrap
和setWrapStyleWord
设置为{{1} } true
。
我想在文本文件中写出它在文本框中显示的确切方式。
我试图在JTextArea
上保留replace("\n", System.getProperty("line.separator"))
的内容String
,但只有当用户在键入输入时实际点击返回键时才会这样做,但是如果用户只是一直打字并点击一行,那么它会跳到它下面的一行,JTextArea
不起作用。
我还尝试使用replace
,我计算了在线适合的字符数,然后在每行末尾运行StringBuffer
for loop
个新行,以便第一行我会将其添加到位置inserting
,第二行添加到90
,第三行添加到180
,依此类推。但我很快意识到这并不适用于所有情况,因为某些字符比其他字符小,例如,您可以在270
的单行上放置j
。{/ p>
我想做的只是找出计算一行结束的方法,以便知道新行的p
位置,但我也对其他建议持开放态度。谢谢。如果你认为看到我的一些代码就会有所帮助。
更新 我没有实现代码来执行此操作,而是与那些使用此程序的人之一进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在记事本中检查了wordWrap格式设置然后将消除他必须使用侧滚动以读取整行,感谢您的输入
答案 0 :(得分:5)
使用Utilities
类
public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)
传递偏移并获得行开始和结束的偏移量
答案 1 :(得分:1)
除了使用字体指标计算单词长度并执行文本区域已经完成的操作外,我不知道怎么做。
这背后的目的是什么?