我想创建一个事件处理程序来监听多个组合键,例如同时按住 Ctrl 和 C 。
为什么像 if((... == Control) && (... == C))
这样的东西不起作用?
这是我尝试使用的代码:
textField.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
public void handle(KeyEvent event) {
if ((event.getCode() == KeyCode.CONTROL) && (event.getCode() == KeyCode.C)) {
System.out.println("Control pressed");
}
};
});
最佳答案
您可以尝试这个解决方案,它对我有用!
final KeyCombination keyCombinationShiftC = new KeyCodeCombination(
KeyCode.C, KeyCombination.CONTROL_DOWN);
textField.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if (keyCombinationShiftC.match(event)) {
logger.info("CTRL + C Pressed");
}
}
});
关于JavaFX按键监听器用于多个按键按下的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944270/