如何在JavaSwing中删除JTable in Key事件中的选定行
我必须使用Key事件删除JTable中的选定行。当我选择一行并按Delete键时,所选行值应被删除。如何执行此操作?您必须获取所选行(光标当前所在的位置),然后对该行调用removeRow 我建议你读这本书 试试这个(我在使用它的代码中使用了多行,但是您应该能够将它分解为一行。另外,我不确定array.sort是否真的是必要的)如何在JavaSwing中删除JTable in Key事件中的选定行,java,swing,jtable,listselectionlistener,Java,Swing,Jtable,Listselectionlistener,我必须使用Key事件删除JTable中的选定行。当我选择一行并按Delete键时,所选行值应被删除。如何执行此操作?您必须获取所选行(光标当前所在的位置),然后对该行调用removeRow 我建议你读这本书 试试这个(我在使用它的代码中使用了多行,但是您应该能够将它分解为一行。另外,我不确定array.sort是否真的是必要的) 如果你问更多的问题,你应该发布更多你已经尝试过的内容,这样人们就不会觉得他们必须为你思考。另外,你可能想读@AngeloNeuschitzer:No needtoshr
如果你问更多的问题,你应该发布更多你已经尝试过的内容,这样人们就不会觉得他们必须为你思考。另外,你可能想读@AngeloNeuschitzer:No needtoshred;有关详细信息,请参阅。@user1330693我添加了代码。您需要转换为模型索引,如最近的文档所示。更好:使用前面提到的
ListSelectionListener
。@trashgood谢谢,我下次触摸我的代码时会检查一下。是的,如果没有RowSorter
(或1.6版本之前的替代品),代码中可能会出现明显的问题。
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.
}