解析特殊键的字符串以获取KeyCode
问题描述:
我正在使用JavaFX工具,该工具需要用户输入他们想要的键盘键的表示形式String
。解析特殊键的字符串以获取KeyCode
为此我使用KeyCode.getKeyCode(String)
功能,在文档中说
解析一个关键的文字表述。”
这完全适用于像"A"
字母,"B"
,"C"
而不是像"ESCAPE"
这样的特殊键
那一个明显是on the list of constants for KeyCode
。是否有另一个可能的“文本表示”列表,用于接收关键代码?
非常感谢!
答
由于KeyCode
是enum
,你可以使用KeyCode.valueOf(String)
从值的字符串表示获得枚举值,而不是依赖于KeyCode.getKeyCode(String)
。
对于KeyCode.ESCAPE
,只需使用KeyCode.valueOf("ESCAPE")
。
String
表示必须完全匹配enum
值。对于KeyCode.BACK_SLASH
,您必须使用KeyCode.valueOf("BACK_SLASH")
。
你想获得一个字符串的键码?你不能使用['KeyCode.getKeyCode(String)'](https://docs.oracle.com/javafx/2/api/javafx/scene/input/KeyCode.html#getKeyCode(java.lang.String) ) –
@Vince Emigh Ehm,请阅读更多内容。恰恰那个函数为String“ESCAPE”返回null。 – DragonGamer
你试过['getText()'或'getCharacter()'](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/KeyEvent.html)吗? – Sedrick