使用键绑定代替……
InputMap im = table.getInputMap(JTable.WHEN_FOCUSED);
ActionMap am = table.getActionMap();
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "DeleteRow");
am.put("DeleteRow", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Delete row");
int row = table.getSelectedRow();
if (row > -1) {
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.removeRow(row);
}
}
});
(我为测试借用了mKorbel数据,因此我的测试使用的是DefaultTableModel,您需要转换为您正在使用的模型).
此外,如果您进行编辑,这可能仍会触发,因此您需要检查该内容