Вам не нужно добавлять один в строку. Просто добавьте одного слушателя в таблицу и попросите таблицу выбрать, какая строка выбрана.
Вы также можете попробовать keyTyped
вместо keyPressed
. У некоторых платформ были проблемы, когда одна работает, а другая нет.
Если вы хотите разрешить пользователям настраивать привязки клавиш, вы можете, как предложил @hovercraft, использовать привязки клавиш. Требуется сопоставить KeyStroke
с именем действия с их InputMap
и сопоставить имена действий с Action
s с их ActionMap
.
table.getInputMap().put(KeyStroke.getKeyStroke("DELETE"),
"deleteRow");
table.getActionMap().put("deleteRow", yourAction);