如何阻止 JTextPane 吞噬键盘快捷键(加速器)?

发布于 2024-09-10 08:06:41 字数 192 浏览 10 评论 0原文

我的应用程序的主 JFrame 包含一个 JTextPane。虽然它具有焦点,但它会消耗所有键盘快捷键(“加速器”),而不是将它们传递到 JFrame 的 JMenu。这意味着虽然它具有焦点,但“新文档”的 ctrl-n 不起作用。

显然,它正确处理 ctrl-A/C/V/X 来选择全部/复制/粘贴/剪切是很有用的,但我如何说服它不要吞掉其他快捷方式?

My application's main JFrame contains a JTextPane. While it has focus, it consumes all keyboard shortcuts ("accelerators") instead of passing them on to the JFrame's JMenu. This means that while it has focus, eg ctrl-n for "New Document" doesn't work.

Obviously it's useful that it handles ctrl-A/C/V/X correctly for select all/copy/paste/cut, but how do I convince it not to swallow the other shortcuts?

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

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

发布评论

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

评论(1

野の 2024-09-17 08:06:41

我认为在关键侦听器函数的末尾,您应该能够说...

this.getParent().dispatchEvent(originalKeyEvent);

默认情况下,一旦找到 KeyListener,Java 就不会尝试进一步冒泡事件。

I think at the end of your key listener functions you should be able to say...

this.getParent().dispatchEvent(originalKeyEvent);

By default, once a KeyListener is found Java does not attempt to bubble an event up any further.

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