根据 JavaDoc forKeyEvent
的getText()
方法,它返回
描述按键代码的字符串,例如“HOME”、“F1”或“A”,用于按键按下和按键释放事件。对于键类型事件,文本始终是空字符串。
但是,当我尝试打印时getText()
,它对可打印字符按预期工作,但不适用于其他键。"a"
和"A"
是按 a 和 Shift-A 键的结果,但按 Home、F1 或箭头键会产生""
. 同样,当我按下 Shift-A 时,它会在 A 键之前记录 Shift 键的按下,但getText()
for Shift 是""
.
奇怪的是,按 Ctrl + some key 会产生一个不可打印的控制键。
这是一个错误,或者至少是文档与实际行为之间的不匹配?我正在使用 ScalaFX,所以我认为 Scala 接口可能存在问题,但我实际上使用的是javafx.scene.input.KeyEvent
andjavafx.event.EventHandler
类,而不是它们的 Scala 包装器,所以我怀疑这是问题所在。