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

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自动调用表模型事件,并产生一个无限循环...还有其他方法可以自动选择要编辑的单元格吗????

最佳答案

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

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

07-27 17:38