如何在java swing中的Key Event中删除JTable中的选定行

时间:2012-04-13 04:25:29

标签: java swing jtable listselectionlistener

我必须使用Key事件删除JTable中的选定行。当我选择一行并按Delete键时,应删除所选的行值。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您必须获取所选行(光标当前所在的行),然后在该行上调用removeRow。

我建议您阅读API for JTable.

尝试这个(我在代码中使用了多行,但是你应该可以将它分解为一个。另外,我不确定Arrays.sort是否真的有必要)

int [] toDelete = dataTable.getSelectedRows();
Arrays.sort(toDelete); // be shure to have them in ascending order.
MyTableModel myTableModel = (MyTableModel)dataTable.getModel();
for(int ii = toDelete.length -1; ii >=0; ii--) {
    myTableModel.removeRow(toDelete[ii]); // beginning at the largest.
}