JTextField 中的 Ctrl-Delete

发布于 2024-08-05 10:58:48 字数 270 浏览 6 评论 0原文

如何让 JTextFields 在编辑文本时允许 Ctrl-DeleteCtrl-Backspace

在各种其他程序中,这些组合键可以一次性删除整个单词。

据我所知,JTextField 的默认行为允许用户在使用左右键时使用 CTRL 跳过整个单词,并在使用 SHIFT< 时选择整个单词。 /kbd> 也被使用。然而,仅仅删除是行不通的。

How can I get JTextFields to allow Ctrl-Delete and Ctrl-Backspace when editing text?

In various other programs, these key combinations can delete an entire word in one go.

From what I can tell, the default behaviour of a JTextField allows the user to use CTRL to jump over an entire word when using left and right keys, and to select an entire word when SHIFT is used too. However, deleting just doesn't work.

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

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

发布评论

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

评论(2

爱人如己 2024-08-12 10:58:48

Swing 使用键绑定将操作映射到组件。要查找给定组件的默认映射,您可以使用 按键绑定 程序。本文还包含 Swing 教程的链接,其中包含有关“如何使用键绑定”的部分。

要创建自定义操作,您需要扩展 TextAction,以便可以访问文本组件。然后您需要获取当前插入符位置。然后您可以使用 Utilities 类来获取当前单词的开头或结尾,然后您可以从文档中删除这些字符。

Swing uses Key Bindings to map Actions to components. To find out the default mappings for a given component you can use the Key Bindings program. The article also contains a link to the Swing tutorial which contains a section on "How to Use Key Bindings".

To create your custom Action you would extend TextAction so you have access to the text component. You would then need to get the current caret position. Then you can use the Utilities class to get the start or end of the current word and then you can remove the characters from the Document.

傲娇萝莉攻 2024-08-12 10:58:48

您需要定义一个操作并将其放入组合的操作映射中。有关介绍,请参阅本文

You need to define an Action and put it into the action map of the composite. See this article for an introduction.

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