我有一个KeyboardFocusManager
带有覆盖的dispatchKeyEvent()
方法来处理箭头键的导航并输入。只要按键被按下,我就需要处理按键事件。不幸的是,按住 enter 会导致KEY_TYPED
不包含关键位置的事件。有没有办法找出当前正在按下哪个输入?或者我可以抑制KEY_TYPED
事件以支持KEY_PRESSED
事件吗?
编辑:我无法告诉您使用 KeyboardFocusManager 而不是 KeyListeners 完成的原因,但我确信这样做是有原因的。到目前为止,已经不可能再改变它了。问题是,对于我们的系统(一个旧的终端模拟器),左回车键是一个导航键。按下回车键将焦点移动到当前行之后的下一个文本字段。右回车键是将用户输入发送到服务器的命令键。