关于JTextPane中getCaretPosition的问题,谢谢

Taotesea 2020-04-01 09:10:49

在JTextPane中getCaretPosition取得光标位置,但是回车后getCaretPosition所得到光标位置就错了,好像是\r\n(CRLF)回车换行的问题,
如何在回车换行情况下的准确得到光标位置 ,谢谢了:)
...全文
567 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
晓星晨曦 2020-12-25
  • 打赏
  • 举报
回复
先问下兄弟你有没有解决(时间好久之前了,哈哈)。我已经解决了,看你还需不需要。
lryxxh 2020-04-01
  • 打赏
  • 举报
回复
目的是什么?如果只是想根据getCaretPosition得到对应的字符,通过getText().chartAt不是很方便么
Little5 2020-04-01
  • 打赏
  • 举报
回复
还有,你需要得到这个位置有什么实际意义?要实现什么功能?API既然设计成不计算\r的位置。那肯定就是适用于大多数情况的。
Little5 2020-04-01
  • 打赏
  • 举报
回复
引用 2 楼 Taotesea 的回复:
[quote=引用 1 楼 Little5 的回复:] 回车就换行啊,换行了光标位置肯定就变了。你意思是想回车后原来的光标位置不变?那你自己添加一个键盘事件。写自己的回车逻辑。
不是的,当你回车变成下一行时,getCaretPosition取的值是不对,例如: 112 123 当光标在最后时,得到8是和错,应该是9,因为还\r,只是没有看见[/quote] 手动+1 int pos = obj.getCaretPosition() + 1;
qq_39936465 2020-04-01
  • 打赏
  • 举报
回复
引用 2 楼 Taotesea 的回复:
不是的,当你回车变成下一行时,getCaretPosition取的值是不对,例如: 112 123 当光标在最后时,得到8是和错,应该是9,因为还\r,只是没有看见
说清问题,贴程序。你的表达别人无法理解。
Taotesea 2020-04-01
  • 打赏
  • 举报
回复
引用 1 楼 Little5 的回复:
回车就换行啊,换行了光标位置肯定就变了。你意思是想回车后原来的光标位置不变?那你自己添加一个键盘事件。写自己的回车逻辑。
不是的,当你回车变成下一行时,getCaretPosition取的值是不对,例如: 112 123 当光标在最后时,得到8是和错,应该是9,因为还\r,只是没有看见
Little5 2020-04-01
  • 打赏
  • 举报
回复
回车就换行啊,换行了光标位置肯定就变了。你意思是想回车后原来的光标位置不变?那你自己添加一个键盘事件。写自己的回车逻辑。

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧