2

キーストロークを表す文字列(たとえば、「A」、「ENTER」、「F4」)を操作する必要があります。この文字列から、キー文字、キーコード、およびキーストロークのキー修飾子を取得する必要があります。

これが私がすることです(たとえばF4の場合):

AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("F4");
System.out.println(ks.getKeyCode());
System.out.println(ks.getKeyModifiers());
System.out.println(ks.getKeyChar());

私は得る:

115
0
?

キーコードと修飾子は問題ありませんが、どのキーストロークを試しても、常に取得できますか?キーチャーのために..。

私は何かが足りないのですか?

4

1 に答える 1

4

2 コメント:

ステートメントを に変更すると、 の値である 65535 であるSystem.out.println((int)ks.getKeyChar());ことがわかります。keyCharKeyEvent.CHAR_UNDEFINED

AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("typed A");keyChar であることを確認AすることもできますAWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("typed F4");し、例外が発生することを確認することもできます。

于 2012-06-26T10:09:25.390 に答える