更改ENTER键功能

时间:2013-12-15 08:12:24

标签: java swing jtable key-bindings

我想更改JTable上ENTER键的默认操作,所以我使用了这段代码:

table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
        .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter");
table.getActionMap().put("Enter", new AbstractAction() {
    private static final long serialVersionUID = 1L;
    public void actionPerformed(ActionEvent ae) {
        //my action
    }
}

Tt正常工作。我现在想要的是在我的行动之后改变行。换句话说,执行回车键的默认操作。

1 个答案:

答案 0 :(得分:3)

ENTER 键的默认Action"selectNextRowCell"。如图here所示,您可以获取原始Action的引用,并在新处理程序中激活。

String name = "selectNextRowCell";
Action action = table.getActionMap().get(name);
…
public void actionPerformed(ActionEvent ae) {
    action.actionPerformed(new ActionEvent(table, ActionEvent.ACTION_FIRST, name));
}