JavaFX有没有更好的方法来获得问号和其他人的密钥码



有没有更好的方法来获取这些((<>的键代码?:"{}|!@#$%^&*作为没有此长进程JavaFX 的方法的字符串

如果是的话,我首先检查是否按下了shift。getCode((,如果键COde=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

最新更新