Procurar Produto por letra Digitada. (KEYUP)

2 respostas Resolvido
javamysql
M

Olá, eu estou cursando na área de Programação e eu estou fazendo um TCC e nosso grupo fez sobre mercado, vamos supor se o Usuário na barra de Pesquisa, escrever C , vai puxar do banco de dados os produtos listados com C , ex. Carne , Creme Dental;
Agora o usuário escreve Cr tem que Puxar Creme Dental Automaticamente, alguém sabe como eu posso usar o Keyup ou algum exemplo para que eu possa me basear?
Grato

2 Respostas

Sandro_Machado
Solucao aceita

tenho este método que utilizei uma vez, funciona, mas talvez necessite de dar uma otimizada.

a medida que digita cada letra ele refina a pesquisa e popula a JTable

private void campoBuscaKeyReleased(java.awt.event.KeyEvent evt) {                                       
    if (evt.getKeyCode() != KeyEvent.VK_ENTER) {
        int quantCar = campoBusca.getText().length();//pega quantas letras foram digitadas
        val.setRowCount(0);//zera a tabela para popular com novo resultado refinado
        listaHistoricos.stream().forEach((listaHistorico) -> {
            String pesquisa = campoBusca.getText();
            String lista = "";
            listaHistorico.getNomeHistorico().length();
            if (listaHistorico.getNomeHistorico().length() >= quantCar) {
                lista = listaHistorico.getNomeHistorico().substring(0, quantCar);
            }
            if (pesquisa.equalsIgnoreCase(lista)) {//neste exemplo adiciona em uma JTable
                val.addRow(new String[]{Integer.toString(listaHistorico.getCod()), listaHistorico.getTipo(), listaHistorico.getNomeHistorico()});
            }
        });
    }
}
M

Vlw, o exemplo me ajudou muito. Grato

Criado 1 de agosto de 2016
Ultima resposta 3 de ago. de 2016
Respostas 2
Participantes 2