我正在开发一个简单的修复后修复转换器。我想从键盘输入用户的输入。要输入一些符号,例如" +",用户必须按shift键。我正在使用KeyCombination对象来捕获用户是否正在使用shift。
我的代码一直给我这个错误:密钥代码不能与修饰键匹配!
然而,当我查看键码时,它不是Shift,而是按下任何数字行键。例如,如果用户按Shift + =,则键码是EQUALS,而不是Shift_DOWN修改器。代码按预期工作,但我无法弄清楚如何摆脱这个异常。
tfInput.setOnKeyPressed(e -> {
if (e.isShiftDown()) {
KeyCombination kc = new KeyCodeCombination(e.getCode(),
KeyCombination.SHIFT_DOWN);
userInput = kc.toString();
}
答案 0 :(得分:1)
您收到错误的原因是因为组合键中的第一个参数是键码,而shift是一个键修饰符,您可以通过在继续之前检查键是否为SHIFT来停止获取此错误
php artisan key:generate