小编典典

更改ENTER键功能

java

我想更改上ENTER键的默认操作JTable,因此我使用了以下代码:

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正常工作。我现在想要的是在操作后立即更改行。换句话说,执行Enter键的默认操作。


阅读 279

收藏
2020-11-30

共1个答案

小编典典

默认ActionENTER"selectNextRowCell"。如图所示在这里,你可以获取到原来的基准Action,并在新的处理程序唤起。

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