如果使用键盘快捷键并暂时禁用 JTable,则 JTable 单元格在对选定单元格运行操作后会失去焦点

发布于 2024-09-28 23:04:51 字数 281 浏览 4 评论 0原文

在我的 JTable 中,我有许多可以通过弹出菜单或选择配置的快捷方式访问的操作。使用鼠标或键盘从弹出窗口中选择操作很好,我可以使用光标键移动到原始选择旁边的字段,没有问题。但是,如果我使用快捷键,它可以正常执行操作,但之后我无法使用光标键退出所选字段,因为由于某种原因,焦点现在位于 JTable 外部的组件上。

编辑:当我开始任务时,我更改光标并禁用 JTable,当我完成任务时,我重新启用表并重置光标。如果我删除禁用代码,它会起作用,但这会允许用户对我不想要的表进行更改,而且我无法理解为什么它只在使用键盘快捷键时才会失败。

In my JTable I have a number of actions that can accessed via popup menu or by selecting the configured shortcut. Selecting the action from the popup using mouse or keyboard is fine, and I can use the cursor keys to move to a field next to the original selection no problem. However if I use the shortcutkey instead it performs the action okay but I cannnot exit the selected fields afterwards using the cursor keys, because for some reason the focus is now with a component outside of the JTable.

EDIT:When I start the task I change the cursor and disable the JTable, when I complete the task I renable the table and reset the cursor. If I remove the disable code it works, but this then allow the user to make changes to the table which I dont want, and I cannot understand why it only fails when using keyboard shortcut.

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

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

发布评论

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

评论(1

女中豪杰 2024-10-05 23:04:51

修复了问题,重新启用 Jtable 后我需要调用 requestFocusInWindow()

Fixed the problem, after renabling the Jtable I needed to call requestFocusInWindow()

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