2017-09-06 16 views
1

사용자가 원하는 키보드 키 표현을 String 형식으로 입력해야하는 JavaFX 도구에서 작업 중입니다. 문서가특수 키 문자열을 구문 분석하여 KeyCode 가져 오기

는 키의 텍스트 표현을 구문 분석 말한다 나는 KeyCode.getKeyCode(String) 기능을 사용하고이 목적을 위해

. " "A" 같은 문자, "B"을 위해 완벽하게 작동

, "C" 등등. 그러나 "ESCAPE"과 같은 특수 키에는 적용되지 않습니다.

분명히 on the list of constants for KeyCode입니다. . 키 코드를 수신하는 데 사용되는 "텍스트 표현"이 가능한 다른 목록이 있습니까?

큰 감사! 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

는 오히려 KeyCode.getKeyCode(String)에 의존하지 않고, 값의 문자열 표현에서 열거 값을 얻기 위해 KeyCode.valueOf(String)를 사용할 수, enum입니다.

KeyCode.ESCAPE의 경우 간단히 KeyCode.valueOf("ESCAPE")을 사용하십시오.

String 표현은 정확히 enum 값과 일치해야합니다. KeyCode.BACK_SLASH의 경우 KeyCode.valueOf("BACK_SLASH")을 사용해야합니다.