Gente criei um algoritmo de pesquisa aqui, que vou compartilhar com vocês. O que ele faz: Ordena a jtable com o que você pesquisou, por exemplo pesquisou por: “enro” vai colocar nas primeiras posições da tabela, tudo o que começar com “enro” … tipo
enroladinho de salsicha
enroladinho de queixo
e depois colocar os demais itens que não fazem parte da pesquisa…
OBS: eu uso um vetor como “bd”, então por isso que o código está assim…
// pesquisando é a String que voce ta querendo achar...
String pesquisando = campoPesq.getText();
pesquisando = pesquisando.toUpperCase();
String pesquisado = "";
int tamanho = pesquisando.length();
int i;
//vai armazenar os índices dos itens de pesquisa que não fazem parte
//do que o usuario esta pesquisando
int faltaram[] = new int[1000];
int countFaltaram = 0;
//limpar a tabela
modelo.limpar();
//bd.produtos é o meu 'banco de dados'
for (i = 0; bd.produtos[i] != null; i++) {
try {
//Pegar o elemento do BD e colocar tudo maiusculo
pesquisado = bd.produtos[i].getNome().substring(0, tamanho);
pesquisado = pesquisado.toUpperCase();
//se for igual
if (pesquisando.equals(pesquisado)) {
//adiciono o item na tabela e seleciono a 1 linha da tabela
modelo.addProduto(bd.produtos[i]);
jTable1.setRowSelectionInterval(0, 0);
} else {
//se nao for, vou colocar o seu indice no vetor
faltaram[countFaltaram] = i;
countFaltaram++;
}
} catch (StringIndexOutOfBoundsException e) {
faltaram[countFaltaram] = i;
countFaltaram++;
}
}
//agora para adicionar a tabela os que faltaram:
for (i = 0; i < countFaltaram; i++) {
modelo.addProduto(bd.produtos[faltaram[i]]);
}
//apago o que o usuario digitou la no campo de pesquisa
campoPesq.setText("");
Porém o que eu gostaria de fazer é:
Outra coisa, quando eu mudar isso ai para um banco de dados não sei o que eu vou fazer… vou ter muito trabalho, mas aposto que alguem poderá me ajudar em caso de dúvidas!
Obrigado
