我想捕捉一些带有 2 个字母键的热键,例如 Ctrl+P,P
(Ctrl+P
并按 P
而不释放 Ctrl
) 但下面的代码不起作用:
KeyStroke.getKeyStroke(KeyEvent.VK_P & KeyEvent.VK_P, InputEvent.CTRL_MASK)
//or
KeyStroke.getKeyStroke(KeyEvent.VK_P | KeyEvent.VK_P, InputEvent.CTRL_MASK)
它仅捕获Ctrl+P
最佳答案
然后您需要使用两个单独的 KeyStroke 并分别捕获每个 KeyStroke。例如:
KeyStroke p = KeyStroke.getKeyStroke('P');
KeyStroke control = KeyStroke.getKeyStroke("control P");
阅读 Swing 教程中关于 How to Use Key Bindings 的部分了解更多信息。
关于java - 在 Swing 中捕获热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164524/