我想更改上ENTER键的默认操作JTable,因此我使用了以下代码:
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键的默认操作。
默认Action的ENTER键"selectNextRowCell"。如图所示在这里,你可以获取到原来的基准Action,并在新的处理程序唤起。
Action
ENTER
"selectNextRowCell"
String name = "selectNextRowCell"; Action action = table.getActionMap().get(name); … public void actionPerformed(ActionEvent ae) { action.actionPerformed(new ActionEvent(table, ActionEvent.ACTION_FIRST, name)); }