blackbishop blackbishop - 9 months ago 82
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.


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));