JavaFX有没有更好的方法来获取问号和其他键码
JavaFX Is there any better way to get keycode of Question Mark and others
有没有更好的方法来获取这些 ()<>?:"{}|!@#$%^&* 的键码作为方法的字符串而不这个漫长的过程 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;
}
}
如果您愿意使用 KEY_TYPED
事件,您可以使用 KeyEvent.character
属性:
获取输出
targetNode.setOnKeyTyped(evt -> {
System.out.println(evt.getCharacter());
});
另一方面,您不能使用 KEY_TYPED
事件中的 KeyEvent.code
。
有没有更好的方法来获取这些 ()<>?:"{}|!@#$%^&* 的键码作为方法的字符串而不这个漫长的过程 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;
}
}
如果您愿意使用 KEY_TYPED
事件,您可以使用 KeyEvent.character
属性:
targetNode.setOnKeyTyped(evt -> {
System.out.println(evt.getCharacter());
});
另一方面,您不能使用 KEY_TYPED
事件中的 KeyEvent.code
。