从JTable获取对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从JTable获取对象相关的知识,希望对你有一定的参考价值。

我想从JTable获取有关用户的信息。一切正常,但是当我按名称对数组进行排序时,对象读取错误。例:Here is everything ok

以上一切正常。我从表中选择4个值,从“用户”列表中显示4个项目。显示两本书。但是现在我按“贷款数”排序,然后选择有两笔贷款的用户。但是该数组显示为“您选择了第一个值”,并显示了“用户”列表中的第一个值。

After sorting

我想从董事会中选择一个特定的用户。谢谢。

我的代码:

        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获取对象的主要内容,如果未能解决你的问题,请参考以下文章

如何从片段中的 JSON 响应中的对象获取数据

如何从 JTable 中获取数据?

从对象的 ArrayList 创建 JTable - Java

从 Postgres 数据库填充 jTable

如何在我的jtable中获得超过100行?

更改从jar文件中获取的jtable中特定行的颜色