如何让 JTable 只处理移动键?

How to make JTable process only the movement keys?

我有一个动态构造的表单,组件添加了处理操作所需的注册键。 它也有一个 JTable,当 JTable 获得焦点时,它正在处理所有键,因此配置为触发其他组件上的操作的键不会被执行。 我可以将 Jtable 配置为只处理移动键吗?例如箭头、home、end、pg 上下等等?

编辑 1: 包含其他组件的 JFrame 正在使用此函数注册德键绑定:

  private void addActionListener(final int key_, final ActionListener al_){
    getRootPane().registerKeyboardAction(al_,
                                     KeyStroke.getKeyStroke(key_, 0),
                                     JComponent.WHEN_IN_FOCUSED_WINDOW);
  }

当焦点在除JTable之外的任何组件时,注册的键会相应触发,但当焦点在JTable时,键显示为"trapped" 在 JTable

如果这还不够,我会做一个SSCCE,稍后再编辑。

感谢 camickr, when I was doing the SSCCE 我理解了这个问题:我测试程序的键是 F2,JTable 使用它来编辑单元格。 我的原始程序没有单元格版本,并且在其中看得不是很清楚。 无论如何,一个奇怪的行为是可以绑定 JTable 使用的其他键,并且在被 JTable 使用后,它们将针对注册的键绑定进行处理 - 但不是 F2。