java - 在 Swing 中捕获热键

标签 java swing hotkeys

我想捕捉一些带有 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/

相关文章:

Eclipse 热键 : how to switch between tabs?

java - Android Gson Json解析当key number未定义时

Java Hdd 图形表示

java - 无法将 JTextField 设置为 int

java - 刷新 JTable 的 setCellEditor

c# - RegisterHotKey 不适用于不可见的表单 (c#)

qt-creator - Qt Creator 中的 Ctrl+Shift+Space 等效项?

java - 为什么图书馆要使用注释?

java - 根据自己的规则对 TreeMap 进行排序

java - 尝试在android sqlite中更新数据库时出错