JTable: voltar para uma linha que acabou de sair

Tenho um JTable que o usuario seleciona uma linha inteira por vez, e conforme a linha, abre uma janela ao lado com outros campos para digitar.

Entao, eu tenho o codigo abaixo para controlar o evento de mudanca de linha:

    ListSelectionModel rowSM = fieldTable.getSelectionModel();
    rowSM.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent e) {
          //Ignore extra messages.
          if (e.getValueIsAdjusting()) return;
          ListSelectionModel lsm = (ListSelectionModel) e.getSource();
          if (!lsm.isSelectionEmpty()) {
            int selectedRow = lsm.getMinSelectionIndex();
            fieldTableSelected(selectedRow);
          }
      }
    });

E o metodo fieldTableSelected para fazer as checagens e atualizacoes dos campos da tela:

  boolean fieldTableSelected(int row) {
      ...
      oldfieldok = MetodoQueChecaSeOsCamposEstaoPreenchidos(...);
      if (!oldfieldok)
        fieldTable.setRowSelectionInterval(row,row);
      ...
      return oldfieldok;
  }

Se o usuario nao preencher os campos corretamente, eu preciso voltar para a linha anterior, nao posso mudar de linha. Mas o codigo acima, que faz o setRowSelectionInterval() acaba deixando 2 linhas selecionadas. Ele nao perde a selecao da nova linha. Sera que eu estou usando o evento errado para fazer isso?

Deixe habilitado para apenas selecionar uma linha por vez.
Não varias linhas…

	myJTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

From JavaDOC:

Valeu? até mais… :wink: