Ir para conteúdo
Fórum Script Brasil

Pergunta

Bom dia, estou com um problema e não estou achando a solução. É o seguinte... tenho este KeyListener:

combo.addKeyListener(new java.awt.event.KeyListener() {
    char digitado;
    public void keyPressed(KeyEvent e) {     
        digitado =  e.getKeyChar();// recebe a letra digitada no teclado
        juntaChar =  juntaChar+digitado; // pego as letras em char e junto como uma STRING
        
        // meu autocomplete
        juntaChar = juntaChar.toUpperCase();
        String sql= "SELECT nome_pdpess FROM pdv_pessoas WHERE nome_pdpess LIKE '%"+juntaChar+"%'"; //
        EventList glazedlistFcfo = new BasicEventList();
        try {
            stm = con.createStatement();
        } catch (SQLException ex) {
            Logger.getLogger(SinGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            rs = stm.executeQuery(sql);
        } catch (SQLException ex) {
            Logger.getLogger(SinGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            while(rs.next()){
                System.out.println("pessoas no list");
                glazedlistFcfo.add(rs.getString("nome_pdpess"));
            }
        } catch (SQLException ex) {
            Logger.getLogger(SinGUI.class.getName()).log(Level.SEVERE, null, ex);
        }

        SwingUtilities.invokeLater(new Runnable() {public void run() {
                AutoCompleteSupport autoComplete = AutoCompleteSupport.install(combo, glazedlistFcfo);
        }
        });                  
        
        }  
        public void keyReleased(KeyEvent e){  
            //nada
        }  
        public void keyTyped(KeyEvent e)   {         
            //nada
        }  
        }); 

A ideia seria o seguinte: a cada letra que eu digito no meu JComboBox eu formo uma String e execute o meu SQL(que vai retornar os nomes dos clientes para um AUTOCOMPLETE). Quando eu digito a primeira letra Por exemplo L o SQL executa certo sem problemas retornando todos os nomes que começam com L por exemplo "LUCAS". Porém depois da segunda letra o meu SQL não executa mais. Se alguém souber o que estou fazendo de errado me avise!

Agradeço!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...