Bom dia, é o seguite, eu tenho um JTable que recebe todos os clientes cadastrados na base de dados,
adcionei um fieldNome no JFrame que tem a tabela, para localizar um nome, o que eu preciso saber é
como eu faço para adcionar algumas letras no fieldNome e a tabela e eliminando os nomes que não inicia com
as letras digitas, EXP: quando eu digitar Claudio, aparecer todos os Claudio com sobrenomes diferentes
que estão cadastrados.
Faça com que o texto digitado seja armazenado num atributo do seu TableModel, e a cada alteração filtre os dados que seu JTable exibe.
Para capturar alterações no JTextField, provavelmente você usará um CaretListener, e para filtrar voce pode usar um indexOf ou contains da classe String mesmo.
Z
zongman
É por ai…
MyTableModelmodel=newMyTableModel();sorter=newTableRowSorter<MyTableModel>(model);table=newJTable(model);table.setRowSorter(sorter);filterText=newJTextField();//Quando o texto mudar, chama o new FilterfilterText.getDocument().addDocumentListener(newDocumentListener(){publicvoidchangedUpdate(DocumentEvente){newFilter();}publicvoidinsertUpdate(DocumentEvente){newFilter();}publicvoidremoveUpdate(DocumentEvente){newFilter();}});privatevoidnewFilter(){RowFilter<MyTableModel,Object>rf=null;//Se a expressão regular não bater, não atualiza..try{rf=RowFilter.regexFilter(filterText.getText(),0);}catch(java.util.regex.PatternSyntaxExceptione){return;}sorter.setRowFilter(rf);}