2009年6月3日星期三

JTextPane的视返回

在写记事本的时候发现,textpane.setCaretPosition和textarea.setCaretPosition有偏差(每行差1),而debug时getText的换行符都是'\r\n',毫无差别。其实问题就出在怀疑的地方,因为textPane.getText()返回的String含'\r',并紧跟着一个'\n',但是这是视返回的,不是文档返回的,而文档只包含'\n',于是把

textPane.getText();换成
textPane.getDocument().getText(0, textPane.getDocument().getLength());

这样,不管有没有'\r'也都是对的啦,而textarea.setCaretPosition并不受到换行符的影响,不晓得为什么这样。

没有评论:

发表评论