Изменить функцию клавиши 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
}
}
Тт работает нормально. Теперь я хочу изменить строку сразу после моего действия. Другими словами, выполните действие по умолчанию клавиши ввода.
1 ответ
Решение
По умолчанию Action
для клавиши ВВОД "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));
}