2014-07-21 79 views
0

我有一个JTablesearchListTable)并希望从表中删除一行而不使用表模型。另外,我从XML中获取searchlist中的数据。如何从JTable中删除一行?

这里是我的代码:

int selIndex[] = searchListTable.getSelectedRows(); 
if (selIndex != null) { 
    searchListTable.removeRow(selIndex); 
    keyValueTableModel.removeRows(selIndex); 
    SwingUtilities.updateComponentTreeUI(searchListTable); 
    searchListTable.clearSelection(); 

请帮助.. 如何从表中删除行?

+0

您正在寻找'removeRowSelectionInterval ()'?为什么不使用模型?它保存这些数据,并且它会通知该表的变化; 'updateComponentTreeUI'不适合这个。 – trashgod

+0

可以请你帮我与表模型。我有问题使用它。 – user3824693

+1

请编辑您的问题以包含显示您的表格模型的[mcve](http://stackoverflow.com/help/mcve)。 – trashgod

回答

2

如果不使用TableModel,则不能删除行:JTable组件不包含任何数据,只会显示它。

所以,你必须使用:

tableModel.removeRow() 
0
((DefaultTableModel)searchListTable.getModel()).removeRow(selIndex); 

这应该是一切。该模型将触发一个事件,用户界面将重新绘制..