Galera,
Tenho uma JTable, onde clico numa linha dela e pego os dados desse registro para montar um menu popup. Para pegar o valor desses dados criei um Listener. Só que quando eu ordeno minha tabela e clico numa linha, o ListSelectionListener está carregando os dados do registro que estava nessa posição da tabela anteriormente, antes da ordenação.
O problema é que quando ordeno a JTable, apenas a view é atualizada. Gostaria de que me ajudassem a ordenar o model também.
Estou usando o seguinte código para ordenação:
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);
jTableAgentes.setRowSorter(sorter);
E o seguinte listener para pegar o valor, dados da linha:
class SelecionaAgente implements ListSelectionListener
{
private JTable table;
public SelecionaAgente(JTable tb)
{
this.table = tb;
}
public void valueChanged(ListSelectionEvent e)
{
int maxRows;
int[] selRows;
if(!e.getValueIsAdjusting())
{
selRows = table.getSelectedRows();
if(selRows.length > 0)
{
TableModel tm = table.getModel();
nroAgenteSelecionado = tm.getValueAt(selRows[0],0);
nomeAgenteSelecionado = tm.getValueAt(selRows[0],1);
}
}
}
}