2012-04-13 42 views
-2

我必须使用Key Event删除JTable中的选定行。当我选择一行并按Delete键时,应该删除所选的行值。我怎样才能做到这一点?如何删除java swing中键事件中JTable中的选定行

+0

如果你问更多的问题,你应该发布更多你已经尝试过的东西,这样人们就不会觉得他们必须为你思考。此外,您可能想要阅读http://tinyurl.com/so-hints – 2012-04-13 06:56:38

+0

@AngeloNeuschitzer:无需缩小[* Jon Skeet:Coding Blog *](http://msmvps.com/blogs/jon_skeet/archive/) 2010/08 /第29 /写的完美-question.aspx);有关详细信息,请参阅[*如何格式化并链接评论?*](http://meta.stackexchange.com/q/19756/163188)。 – trashgod 2012-04-13 09:58:55

回答

1

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

我建议你阅读API for JTable.

试试这个(我在我使用它的代码中使用多行,但你应该能够打破它的。另外,我不能确定,如果阵列.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. 
} 
+0

什么是代码 – user1330693 2012-04-13 07:00:26

+0

@ user1330693我添加了代码。 – 2012-04-13 07:10:21

+0

您需要转换为模型索引,如更新['JTable'](http://docs.oracle.com/javase/6/docs/api/javax/swing/JTable.html)文档中所示。更好:使用一个'ListSelectionListener'提到[这里](http://stackoverflow.com/a/10130736/230513)。 – trashgod 2012-04-13 10:10:09