blackbishop blackbishop - 1 year ago 106
Java Question

Change ENTER Key function

I wanted to change the default action of the ENTER key on

, so I used this code:

.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 works normally. What I want now is to change the row just after my action. In other words, execute the default action of the enter key.

Answer Source

The default Action for the ENTER key is "selectNextRowCell". As shown here, you can obtain a reference to the original Action and evoke in your new handler.

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