2017-09-06 50 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")