按Enter后,JTable值在另一个单元格中“跳转”

时间:2009-01-26 10:16:58

标签: java swing jtable

我正在使用Java。我创建了一个JTable,并且我已经使表格的单元格可编辑。我的问题是,当我选择一个单元格并在其中写入一个值,然后单击Enter时,我输入的值不会保留在我键入的单元格中,而是跳转到表格中某个位置的另一个单元格中。值保持不变,但是我输入的是单元格。

我将表格的单元格表示为Cell类的实例。

默认情况下会发生一些事情,虽然我在网上查看了一些关于JTables的资料,但我不知道要改变什么才能使单元格的值保留在单元格中。你知道问题可能是什么,我应该在哪里查看代码以解决它?提前谢谢。

1 个答案:

答案 0 :(得分:2)

看起来您的模型索引在某处混淆。

如果您正在使用RowSorter,那么JTable.getSelectedRow将返回正在查看的行的索引,而不是模型中的行。您可以使用RowSorter.convertRowIndexToModel()来获取正确的索引。

仔细检查您的JTableModel.setValueAt()方法,以确保单元格索引是您已编辑的索引,并且您将新值存储在正确的位置。