Программно включить редактирование ячейки JTable при нажатии клавиши
Я хотел бы включить редактирование ячейки JTable на ключе, скажем, F2.
Я знаю, что по умолчанию двойной щелчок активирует редактирование, но есть ли способ привязать это событие к клавише? Я пробовал эту ссылкуJTable редактировать при нажатии клавиш но это не работает для меня.
Вот мой код:
public class DatabaseJTable extends JTable implements MouseListener {
public DatabaseJTable(Object [][] data, Object [] columnNames) {
super(data, columnNames);
InputMap inputMap = this.getInputMap(JComponent.WHEN_FOCUSED);
ActionMap actionMap = this.getActionMap();
this.addMouseListener(this);
// bind edit record to F2 key
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), "edit");
actionMap.put("edit", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
// TODO Auto-generated method stub
DatabaseJTable table = (DatabaseJTable)ae.getSource();
table.changeSelection(table.getSelectedRow(), 1, false, false);
table.editCellAt(table.getSelectedRow(), 1);
System.out.println("F2 pressed");
}
});
// binding delete record to Delete key
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete");
actionMap.put("delete", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
}
Заранее спасибо.