2017-09-06 5 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、ちょうどタイトルよりも少しお読みください。その関数は、文字列 "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")を使用する必要があります。

関連する問題