我正在使用JavaFX
使用.setOnKeyReleased
接收密钥输入。问题是,这给了我一个keyCode
,但要使用robot class
(尝试过的fx机器人,但它是“受限制的”),我需要一个keyValue int
。
无论如何我可以将KeyCode
或(Fx)KeyEvent
转换为keyValue
吗?请帮帮忙,想不出来。感谢
答案 0 :(得分:0)
您可以尝试KeyCode的impl_getCode()
。但要注意,这是内部的,很可能会随着Java 9而改变。来自KeyCode类:
/**
* @treatAsPrivate implementation detail
* @deprecated This is an internal API that is not intended for use and will be removed in the next version
*/
// SB-dependency: RT-22749 has been filed to track this
@Deprecated
public int impl_getCode() {
return code;
}
为什么这种方法不合适,这是一个谜。
使用它e。 G。像这样:
scene.addEventFilter(KeyEvent.KEY_RELEASED, e -> {
System.out.println(e.getCode().impl_getCode());
});
如果所有内容都因Java实现更改而失败,您可以随时使用Java源创建自己的JavaFX密钥代码映射到awt密钥代码。