[RESOLVIDO] Pegar linha apos filtro jtable

Pessoal, como pego uma linha na jtable após utilizar o filtro (TableRowSorter)?

getSelectedRow não funciona?

funciona normalmente com a lista carregada sem o filtro, edita, exclui, mas, quando aplico filtro tipo o que começa com a letra “M” eu já visualizo o item desejado e clico selecionando a linha ele não faz a edição ou exclusão.

estranho pois sem usar o filtro ele faz tudo…

veja neste outro tópico que levantei:
https://www.guj.com.br/t/jtable-com-filtro-evento-keyreleased-nao-edita-e-exclui/386541?u=calves

Primeiro que se tem um tópico e não foi resolvido, mantenha nele. A fim de organizar e evitar que vários tópicos sobre o mesmo tema sejam abertos.
Veja, o funcionamento é simples: você seleciona uma linha, identifica o conteúdo dela no teu table model e a partir daí, executa a ação.
O que pode ocorrer é você não ter definido o comportamento correto para o filtro, no momento que este deve identificar qual o objeto referente a linha selecionada.

Será que não é porque a JTable está retornando um índice que não bate com o seu model após aplicar o Sorter?
A JTable tem um método chamado convertRowIndexToModel() que você passa o index retornado no getSelectedRow() e ele retorna o índex correspondente no Model, já que com o Sorter o que é filtrado é a sua View (que embaralha então os índices) e não o seu Model.

Deu certo Daniel95, muito obrigado mesmo!

mais uma pergunta, sabe me informar como voltar a jtable ao estado carregado sem precisar buscar no banco novamente? (retirar o filtro) pois mando limpar a jtextField e não aparece mas quando limpo com o apagar do teclado aparece.

Entendo darlan_machado sobre ter criado outro tópico foi mal. obrigado pela sua ajuda…

Olha, eu não sei como esta implementado seu Sorter, mas se quando você digita no textfield ele está “voltando” os registros, provavelmente você tem um método rodando lá no KeyListener deste textfield que está buscando de novo no banco sim… Você poderia quando programaticamente limpar o textfield como disse invocar este mesmo método que está rodando no KeyListener.

Daniel95, desde já muito obrigado pelas orientações, não consegui aplicar no projeto sua explicação você poderia me auxilar mais uma vez rsrs… veja meu Sorter:

public void filtrarTabela() {
        TableRowSorter<TableModel> sorter = new TableRowSorter<>(modeloTabela);
        view.getTabela().setRowSorter(sorter);
        String text = view.getTxtPesquisar().getText().toUpperCase();
        if (text.length() == 0) {
            sorter.setRowFilter(null);
        } else {
            sorter.setRowFilter(RowFilter.regexFilter(text));
        }
    }

aqui as demais classes:
https://www.guj.com.br/t/jtable-com-filtro-evento-keyreleased-nao-edita-e-exclui/386541?u=calves

Se você fizer a mesma coisa que no seu método aí não funciona? Setar null:
sorter.setRowFilter(null);

aee… vlw mesmo mano funcionou… tenho muito que estudar!! Obrigado