gpt4 book ai didi

javafx - 获取多个按键的组合密码

转载 作者:行者123 更新时间:2023-12-04 10:00:46 26 4
gpt4 key购买 nike

我想问一下我能否获得多个按键的按键代码组合。例如,我可以从以下示例中获取关键代码:

public void handle(KeyEvent event) {
if (event.getCode() == KeyCode.TAB) {
}
}

但是我如何获得此示例的关键代码:

textField.setText("");
// Process only desired key types
if (event.getCode().isLetterKey()
|| event.getCode().isDigitKey()
|| event.getCode().isFunctionKey()) {
String shortcut = event.getCode().getName();
if (event.isAltDown()) {
shortcut = "Alt + " + shortcut;
}
if (event.isControlDown()) {
shortcut = "Ctrl + " + shortcut;
}
if (event.isShiftDown()) {
shortcut = "Shift + " + shortcut;
}
textField.setText(shortcut);
shortcutKeyEvent = event;
} else {
shortcutKeyEvent = null;
}

是否可以获取这些键 Ctrl + TabCtrl + A的键码组合?

最佳答案

不,已处理的keyEvent仅具有一个主KeyCode,例如此代码

public void handle(KeyEvent event) {
if (event.getCode() == KeyCode.TAB) {
}
}

将处理 TABALT + TABCTRL + TAB等。如果您仅对 CTRL + TAB感兴趣,则有2个选择:
1)使用isControlDown()
public void handle(KeyEvent event) {
if (event.getCode() == KeyCode.TAB && event.isControlDown()) {
}
}

2)使用KeyCodeCombination
final KeyCombination kb = new KeyCodeCombination(KeyCode.TAB, KeyCombination.CONTROL_DOWN);
...
...
public void handle(KeyEvent event) {
if (kb.match(event)) {
}
}

关于javafx - 获取多个按键的组合密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002059/

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