1

我正在制作学生记录应用程序...我想要一个可编辑的列。我已在表上附加表模型侦听器,并在该列上保存所有更新值

if(table.getSelectedColumn() == 3 && table.getSelectedRow() != -1 && tme.getType() ==     TableModelEvent.UPDATE)
{
// my code here
table.cellEditAt(row,column); // this is giving me error
}

table.cellEditAt自动调用表模型事件并产生无限循环......还有其他方法可以自动选择一个单元格进行编辑吗????

4

2 回答 2

2

请发布一个SSCCE来证明您的问题,例如基于我关于Infinite loop 的问题,通过实现 TabelModelListener链接到我的答案

于 2012-01-08T11:57:47.093 回答
1

答案是发布 SSCCE。我们不是读心术的人。我们无法猜测您的 editCellAt(...) 方法的作用。如果它导致循环,那将是因为您正在以某种方式更改模型并生成另一个 TableModelEvent。不要这样做!

如果问题与将单元格置于编辑模式有关,那么我猜您需要将该代码包装在 SwingUtilities.invokeLater() 中,以确保在将另一个单元格置于编辑模式之前完成原始事件的处理.

于 2012-01-08T16:31:19.923 回答