【发布时间】:2015-05-26 11:55:33
【问题描述】:
我在 JTable 列中使用自动完成功能,该列使用 up 和 down 键移动,以便 JTable 如何禁用上下JTable 的键绑定仅用于该列,并再次恢复其用于下一列的功能。
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.put(KeyStroke.g etKeyStroke(KeyEvent.VK_UP, 0), "UP");
table.getActionMap()
.put("UP", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
//do something on JTable enter pressed
}
});
现在我已经在 if 代码中使用此代码来禁用 up 键,但一旦控制退出 if 条件,我想要默认的 up 键行为,但不会发生
【问题讨论】:
-
覆盖监听器
-
我已经这样做了,但是它对所有列都被禁用,而不是针对特定的..我为此使用了 INPUTMAP 和 ActionMap 类
-
如果你能提供一些代码,人们可能会帮助你。