tableMalzeme.setModel(DbUtils.resultSetToTableModel(resultSet));
tableMalzeme.setAutoCreateRowSorter(true);
正在排序,但是模型没有改变。我调用了jtable的模型。但是它出现在排序之前。
txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
如何在setAutoCreateRowSorter为真后更新模型
如果要访问表中选定行的值,则需要使用:
//txtmalzeme.setText(tableMalzeme.getModel().getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
txtmalzeme.setText(tableMalzeme.getValueAt(tableMalzeme.getSelectedRow(), 1).toString());
也就是说,需要通过表访问数据,因为表知道数据的当前显示顺序。TableModel中的数据从来没有真正排序过,所以你不能通过表中所选的行来引用它。
如果你想通过TableModel访问数据,那么你首先需要通过使用
将selectedRow值转换为实际的模型行:table.convertRowIndexToModel(...)