JTable排序不是单元格中的好值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JTable排序不是单元格中的好值相关的知识,希望对你有一定的参考价值。

我正在使用NetBeans编写程序。我创建了一个带有设计的JTable,我在表中添加行没有任何问题。

当我点击选项卡对表格进行排序时,使用setAutoCreateRowSorter(true)。然而,当我试图获得更新的单元格的值时,它不是好的。实际上,当我填满我的桌子时,这是前一个单元格的价值。

这是我在表格中添加行的方法:

DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setRowCount(0);
for (int i = 0; i < arrayPep.size(); i++) {
   model.addRow(new Object[]{arrayPep.get(i).getPeptide(), arrayPep.get(i).getStart(), arrayPep.get(i).getStop(), arrayPep.get(i).geteValue(), arrayPep.get(i).getName()});
}

这是我尝试获取单元格值的方法:

DefaultTableModel model = (DefaultTableModel) table.getModel();
table.getModel().getValueAt(rowSelected, 0);

我怎么能解决这个问题?

答案

您正在使用视图中的索引为模型编制索引。首先使用JTable.convertRowIndexToModel(rowSelected)将视图索引转换为模型索引:

int modelRowSelected = table.convertRowIndexToModel(rowSelected);
table.getModel().getValueAt(modelRowSelected, 0);

有关视图索引和模型索引的一些上下文,请阅读我给出的关于该主题的this answer

以上是关于JTable排序不是单元格中的好值的主要内容,如果未能解决你的问题,请参考以下文章

如何使 JTable 单元格不可编辑但应该能够选择和复制当前单元格中的值

JTable 单元格中的 JDateChooser 输入键并不总是有效

Java - 是不是可以将图像和字符串放在同一个 JTable 单元格中?

jtable的问题

更改单元格颜色而不更改其他单元格中的颜色(Jtable)

在jTable(自动保存)中编辑后如何保存单元格中的数据?