Usando JComboBox como un cuadro de búsqueda

Estoy usando unJComboBox para buscar una consulta de una base de datos SQL. Aquí está mi código.

private void srKeyTyped(java.awt.event.KeyEvent evt){
    sr.removeAllItems();
    String sch = ((JTextField)sr.getEditor().getEditorComponent()).getText();
    String schh = "SELECT * FROM tbl WHERE name LIKE '" + sch + "%';";
    search = conn.getQuery(schh);
    try {
        while (search.next()) {
            String item = search.getString("name");
            sr.addItem(item);
        }
    } catch (SQLException ex) {
        Logger.getLogger(dataprocess.class.getName()).log(Level.SEVERE, null, ex);
    }
    sr.setSelectedItem(null);
    sr.setPopupVisible(true);

    System.out.println(sch);
}

sr = JComboBox

Pero cuando escribo una letra en el cuadro combinado, agrega todos los elementos en la base de datos. Llegué a saber queSystem.out.println(sch); Siempre da una cadena vacía. Y tan pronto como escribo una letra, el campo de texto del cuadro combinado se vacía (no puedo escribir una palabra con dos letras). ¿Cómo arreglar esto? Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta