2014-07-21 131 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); 

這應該是一切。該模型將觸發一個事件,用戶界面將重新繪製..