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

问题描述 投票:0回答:1

我正在使用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);

我怎么能解决这个问题?

java swing jtable
1个回答
3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.