按Enter键将单元格更改为编辑模式

时间:2013-08-23 10:59:34

标签: java swing jtable

JTable的默认行为是,按Tab键或Enter键移动到下一个可编辑单元格。但我想要的是这样,当我按Enter键时,我需要编辑移动到下一个单元格的单元格。如何实现这一点,提前谢谢。

1 个答案:

答案 0 :(得分:1)

Swing旨在使用Key Bindings(参见How to Use Key Bindings上的Swing教程)。那就是你将Action绑定到KeyStroke。

默认情况下:

  1. Enter键会将单元格选择移动到下一行
  2. F2键会将单元格置于编辑模式
  3. 您希望将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组件的默认绑定列表。