gpt4 book ai didi

java - 三键键盘快捷键

转载 作者:行者123 更新时间:2023-11-30 06:28:23 26 4
gpt4 key购买 nike

我需要帮助在我的 Java 程序中创建键盘快捷键。从下面的代码中可以看出,我需要一个键盘快捷键 Ctrl+T ,它可以正常工作并打印 "test" ,但是快捷键 Ctrl+Shift+T 没有按预期打印 "test2",没有任何反应:

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(
new KeyEventDispatcher() {
public boolean dispatchKeyEvent(KeyEvent e) {
switch (e.getID()) {
case KeyEvent.KEY_PRESSED:
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_T &&
e.getModifiers() == java.awt.event.InputEvent.CTRL_MASK) {
System.out.print("test");
} else if (e.getKeyCode() == java.awt.event.KeyEvent.VK_R &&
e.getModifiers() == java.awt.event.InputEvent.CTRL_MASK &&
e.getModifiers() == java.awt.event.InputEvent.SHIFT_MASK) {
System.out.print("test2");
}
break;
}
return true;
}
}
);

最佳答案

InputEvent 的修饰符是一个位域,因此您可以使用位运算来测试它们,而不仅仅是 ==。但更简单的方法是使用 InputEventis*Down() 方法:

if (e.getKeyCode() == java.awt.event.KeyEvent.VK_R && 
e.isControlDown() && e.isShiftDown()) {

关于java - 三键键盘快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12663931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com