JTable 的默认行为是,通过按 Tab 或 Enter 移动到下一个可编辑单元格。但我想要的是这样,当我按 Enter 时,我需要编辑单元格而不是移动到下一个单元格。如何实现这一点,在此先感谢。
问问题
868 次
1 回答
1
Swing 被设计为使用键绑定(请参阅关于如何使用键绑定的 Swing 教程)。那就是你将一个动作绑定到一个按键。
默认:
- 键将
Enter
单元格选择移动到下一行 - 该
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 回答