0

JTable 的默认行为是,通过按 Tab 或 Enter 移动到下一个可编辑单元格。但我想要的是这样,当我按 Enter 时,我需要编辑单元格而不是移动到下一个单元格。如何实现这一点,在此先感谢。

4

1 回答 1

1

Swing 被设计为使用键绑定(请参阅关于如何使用键绑定的 Swing 教程)。那就是你将一个动作绑定到一个按键。

默认:

  1. 键将Enter单元格选择移动到下一行
  2. F2键将单元格置于编辑模式

您想将 Enter 键的默认操作替换为 F2 键的操作。这很容易通过使用键绑定来完成:

InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
KeyStroke f2 = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
im.put(enter, im.get(f2));

此外,请查看Key Bindings以获取所有 Swing 组件的默认绑定列表。

于 2013-08-23T15:00:48.943 回答