Bee*_*eef 4 java swing stringbuffer jtextarea filewriter
所以我有一个JTextArea用户输入,然后当他们点击一个按钮,它将它写入文本文件,我有两个setLineWrap并setWrapStyleWord设置true为JTextArea.
我想写文本文件在文本框中显示的确切方式.
我试图replace("\n", System.getProperty("line.separator"))在String保持JTextArea其工作的内容上做一个,但是只有当用户在键入输入时实际点击返回键时,但是如果用户只是继续键入并命中一行的结尾,那么它跳转到它下面的线,replace不起作用.
我也试过使用a StringBuffer,我计算了在线上适合多少个字符,然后在for loop inserting每一行的末尾运行一个新行,所以对于第一行我会将它添加到位置90,第二行180,第三行270等等.但我很快意识到,并非在所有情况下工作,因为有些字符是比别人例如,你可以容纳下更多的小j'上比单一线S p的.
我想做的只是想办法计算一行的结尾,这样我才知道insert新行的位置,但我也对其他建议持开放态度.谢谢.如果你认为看到我的一些代码就会有所帮助.
更新 而不是实现代码来执行此操作,我与那些将成为使用此程序的唯一人之一的人进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在他的word中检查了wordWrap然后,记事本格式设置将消除他必须使用侧滚动以读取整行,感谢您的输入
使用Utilities课程
public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)
Run Code Online (Sandbox Code Playgroud)
你传递偏移量并获得行开始和结束的偏移量