0

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

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

默认情况下会发生一些事情,我不知道要更改什么才能使单元格的值保留在单元格中,尽管我在网上浏览了一些关于 JTables 的资料。你知道问题可能是什么,我应该在哪里查看代码以修复它?先感谢您。

4

1 回答 1

2

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

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

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

于 2009-01-26T10:28:45.220 回答