有没有更好的方法来获取这些()<> 的键码?:"{}|!@#$%^&*作为没有这个长过程 JavaFX 的方法的字符串我首先检查是否按下了 shift 如果是 .getCode() 并且如果 keyCOde = SLASH 然后使用“?” 问号。但这很长scene.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent e) { if(e.isShiftDown()) { switch (e.getCode()) { case SLASH: bot_list.get(0).hit("?"); break; case LEFT_PARENTHESIS: bot_list.get(0).hit(","); break; case RIGHT_PARENTHESIS: bot_list.get(0).hit("."); break; case QUOTE: bot_list.get(0).hit("'"); break; case SEMICOLON: bot_list.get(0).hit(":"); break; case BRACELEFT: bot_list.get(0).hit("{"); break; case BRACERIGHT: bot_list.get(0).hit("}"); break; case OPEN_BRACKET: bot_list.get(0).hit("["); break; case CLOSE_BRACKET: bot_list.get(0).hit("]"); break; case BACK_SLASH: bot_list.get(0).hit("|"); break; case BACK_QUOTE: bot_list.get(0).hit("~"); break; } }
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
如果您愿意改用该KEY_TYPED事件,则可以使用以下KeyEvent.character属性获取输出:
targetNode.setOnKeyTyped(evt -> {
System.out.println(evt.getCharacter());
});
另一方面,您不能使用KeyEvent.codefromKEY_TYPED事件。
添加回答
举报
0/150
提交
取消