2017-09-06 79 views
1

我正在使用JavaFX工具,该工具需要用户输入他们想要的键盘键的表示形式String解析特殊键的字符串以获取KeyCode

为此我使用KeyCode.getKeyCode(String)功能,在文档中说

解析一个关键的文字表述。”

这完全适用于像"A"字母,"B""C"而不是像"ESCAPE"这样的特殊键

那一个明显是on the list of constants for KeyCode 。是否有另一个可能的“文本表示”列表,用于接收关键代码?

非常感谢!

+0

你想获得一个字符串的键码?你不能使用['KeyCode.getKeyCode(String)'](https://docs.oracle.com/javafx/2/api/javafx/scene/input/KeyCode.html#getKeyCode(java.lang.String) ) –

+0

@Vince Emigh Ehm,请阅读更多内容。恰恰那个函数为String“ESCAPE”返回null。 – DragonGamer

+0

你试过['getText()'或'getCharacter()'](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/KeyEvent.html)吗? – Sedrick

回答

3

由于KeyCodeenum,你可以使用KeyCode.valueOf(String)从值的字符串表示获得枚举值,而不是依赖于KeyCode.getKeyCode(String)

对于KeyCode.ESCAPE,只需使用KeyCode.valueOf("ESCAPE")

String表示必须完全匹配enum值。对于KeyCode.BACK_SLASH,您必须使用KeyCode.valueOf("BACK_SLASH")