KeyEvent
のgetText()
メソッドのJavaDocによると、それは戻ります
キーが押されたイベントとキーが離されたイベントのキーコード (「HOME」、「F1」、「A」など) を表す文字列。キー タイプのイベントの場合、テキストは常に空の文字列です。
ただし、印刷しようとするとgetText()
、印刷可能な文字では期待どおりに機能しますが、他のキーでは機能しません。"a"
と"A"
は a キーと Shift-A キーを押した結果ですが、Home、F1、または矢印キーを押すと になります""
。同様に、Shift-A を押すと、A キーの前に Shift キーを押したことが登録されますが、getText()
Shift の場合は""
.
奇妙なことに、Ctrl + 何かのキーを押すと、印刷不可能なコントロール キーが生成されます。
これはバグですか、少なくともドキュメントと実際の動作の不一致ですか? 私は ScalaFX を使用しているので、Scala インターフェイスに問題がある可能性があると思いますが、実際にはScala ラッパーではなくjavafx.scene.input.KeyEvent
andjavafx.event.EventHandler
クラスを使用しているため、それが問題であるとは思えません。