删除JTable中的行后重新排序表数据

时间:2011-02-19 13:03:05

标签: java swing jtable

我有一个JTable,其中3列第一列是按钮,第二列是id 。现在,当用户点击特定行的按钮时,该行应该被删除。到目前为止,一切都很好。但另一个要求是重新排序表数据。我的意思是列id应该重新排序。例如:

第一个表格数据:

   | id | another-column
b1 | 1  | abc
b2 | 2  | xyz
b3 | 3  | def
b4 | 4  | qwe

现在,当用户删除id = 2的第二行时,表数据应如下所示:

   | id | another-column
b1 | 1  | abc
b3 | 2  | def
b4 | 3  | qwe

此处b1/b2/b3/b4是删除特定行的按钮。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

在抽象表模型的getValueAt(row,col)中设置此顺序id值相当容易。

public Object getValueAt(int row, int col) {
   if (col == 1) 
      return int (row + 1);
      .....
}

在按钮的动作事件中再次设置模型。按下按钮后,模型将正确重新绘制JTable。