Bom dia gurizada, vou tentar explicar oque ocorre, é meio complicado mas vamos lá...
tenho essa tabela funcionando e populada:
DefaultTableModel tmClientes = new DefaultTableModel(new Object[] {
"Código", "Nome", "Cpf", "Data Nascimento", "Telefone" }, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex){
return false;
}
};]
public class RowSorterToStringConverter extends Converter {
private JTable table;
public JTable getTable() {
return table;
}
public void setTable(JTable table) {
this.table = table;
}
@Override
public Object convertForward(Object value) {
return value.toString();
}
@Override
public Object convertReverse(Object mask) {
TableRowSorter sorter = new TableRowSorter(table.getModel());
String m = mask.toString();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < m.length(); i++) {
char c = m.charAt(i);
sb.append('[').append(Character.toLowerCase(c)).append(Character.toUpperCase(c)).append(']');
}
sorter.setRowFilter(RowFilter.regexFilter(".*" + sb + ".*"));
return sorter;
}
}
eu arrasto essa classe para dentro do jframe, depois vou em inspetor, em outros componentes, e nas propriedades desse conversor eu aponto ele para a minha tabela.
depois vou no campo de texto, em vincular texto, na origen da vinculação eu coloco a tabela, e em expressão eu coloco rowSorter, depois na aba avançado eu escolho o conversor, blz.
a tabela já abre populada, e conforme eu digito no campo de texto ela vai filtrando as linhas, até ai tudo bem...
agora vem o problema, por exemplo,
vamos supor que tenha 3 linhas na tabela:
1 - ana
2 - rafa
3 - ricardo
eu digito r, e ana desaparece, rafa vai para a primeira linha, e ricardo para a segunda, ai eu digito a, ricardo desaparece e rafa fica como unica linha, até ai tudo bem, só que ao dar dois cliques na linha ele abre uma aba com o registro dessa linha selecionada, porém ele abre o cadastro da ana, pq ela estava em primeiro antes de filtrar,e não o do rafa, oque posso estar fazendo de errado?
desde já mobrigado!!!