我有一个 JTable,我正在动态地向该 JTable 插入行。在一些用户干预之后,将插入一个新行。然后我将调用一个函数,其参数为选定的行号,在该函数内部,我有一些代码将相应地更新同一行。每个行插入和行值更新代码将在单独的线程中运行。
public void updateRow(int row,JTable myTable)
{
String text = "";
//After lot of processing, setting the table cell value at the 'row' on the 4th column
myTable.setValueAt(text, row, 4);
}
我面临的问题如下,
如果用户删除任何行,那么行的位置将会改变,此时如果函数updateRow()
试图更新其他行,那么它将由于行数的变化而失败。
假设我一次有 3 行,并且每行的 updateRow 正在进行中。
updateRow(0,userTable);//For the 1st row
updateRow(1,userTable);//For the 2nd row
updateRow(2,userTable);//For the 3rd row
并假设第二行的 updateRow() 已完成。这将导致第三行的 updateRow() 函数出现问题。因为,它的行值为 '2' 。由于第 3 行被删除,因此没有第 3 行,这反过来又导致以下代码失败
myTable.setValueAt(text, row, 4);//Currently, row has the value as '2'
任何人都可以建议我如何使用行值相应地跟踪行更新,即使行的位置动态更改?
提前致谢。