基于字符串的光标定位

发布于 2025-01-06 13:36:47 字数 139 浏览 1 评论 0原文

如何在 Java 文本区域(文本保存在 StringBuffer 中)中定位光标位置?我正在尝试在文本编辑器中实现退格功能。 API 列出了如何设置数据。我需要获取光标位置,以了解光标位于哪个字符位置,而不是光标的屏幕全局坐标。

衷心感谢任何帮助。

How do I locate the cursor position in a Java textarea where the text is held in a StringBuffer? I am trying to implement the backspace function in a text editor. The API lists how to set data. I need to get the cursor position, to know at which character position the cursor is, not the onscreen global coordinates of the cursor.

Any assistance is sincerely appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦屿孤独相伴 2025-01-13 13:36:47

您必须编写 KeyListeners TextArea 中的按键事件,并在 TextArea 中保留虚拟光标。然后将该偏移量映射到您的 StringBuffer 中,没有什么神奇的方法可以做到这一点。

You have to write KeyListeners for keypress events in the TextArea and keep a virtual cursor of where you are in the TextArea. Then map that offset into your StringBuffer, there is no magic way to do it.

逐鹿 2025-01-13 13:36:47

如果您使用的是 Swing JTextArea,使用 JTextArea.getCaretPosition()

如果您使用的是 AWT TextArea,请参阅贾罗德·罗伯森的回答。

If you are using a Swing JTextArea, use JTextArea.getCaretPosition().

If you are using an AWT TextArea, see Jarrod Roberson's answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文