TableModelListener

时间:2012-01-08 11:28:05

标签: java swing jtable listener tablecelleditor

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

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自动调用表模型事件并产生无限循环...任何其他方法自动选择要编辑的单元格????

2 个答案:

答案 0 :(得分:2)

请发布展示您问题的SSCCE,例如根据我与Infinite loop by implements TabelModelListener关联的answer的问题,

答案 1 :(得分:1)

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

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