从JTable获取对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从JTable获取对象相关的知识,希望对你有一定的参考价值。
我想从JTable获取有关用户的信息。一切正常,但是当我按名称对数组进行排序时,对象读取错误。例:Here is everything ok
以上一切正常。我从表中选择4个值,从“用户”列表中显示4个项目。显示两本书。但是现在我按“贷款数”排序,然后选择有两笔贷款的用户。但是该数组显示为“您选择了第一个值”,并显示了“用户”列表中的第一个值。
我想从董事会中选择一个特定的用户。谢谢。
我的代码:
tablicaWypozyczen.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int row = tablicaWypozyczen.rowAtPoint(e.getPoint());
int col = tablicaWypozyczen.columnAtPoint(e.getPoint());
if (row >= 0 && col >= 0) {
JOptionPane.showMessageDialog(null, Dane.uzytkownicyZWypozyczeniami.get(row).toString(), "Informacje o użytkowniku", 1);
System.out.println(tablicaWypozyczen.getSelectedRow());
}
}
}
});
答案
但是当我按名称对数组排序时,
为什么要对数组排序?
数据存储在TableModel中。排序应该在表上进行,而不是在某些外部数组中的数据上进行。您不希望将数据放在两个地方,要保持数据同步太难了。
阅读有关Sorting and Filtering的Swing教程的部分,以了解更多信息。>>
如果要从使用的表中获取排序后的值:
table.getValueAt(table.getSelectedRow(), theColumn);
以上是关于从JTable获取对象的主要内容,如果未能解决你的问题,请参考以下文章