public void keyReleased(KeyEvent e) {
        char ch = e.getKeyChar();
        if (ch == KeyEvent.CHAR_UNDEFINED || Character.isISOControl(ch))
            return;
        int pos = editor.getCaretPosition();
        String str = editor.getText();
        if (str.length() == 0)
            return;

        boolean matchFound = false;
        for (int k = 0; k < comboBox.getItemCount(); k++) {
            String item = comboBox.getItemAt(k).toString();
            if (startsWithIgnoreCase(item, str)) {
                comboBox.setSelectedIndex(k);
                editor.setText(item);
                editor.setCaretPosition(item.length());
                editor.moveCaretPosition(pos);

                // show popup when the user types
                if (comboBox.isDisplayable())
                    comboBox.setPopupVisible(true);

                matchFound = true;
                break;
            }
        }
        if (!matchFound) {
            // hide popup when there is no match
            comboBox.setPopupVisible(false);
        }
    }
public void keyReleased ( KeyEvent e ) { char ch = e . getKeyChar ( ) ; if ( ch == KeyEvent . CHAR_UNDEFINED || Character . isISOControl ( ch ) ) return ; int pos = editor . getCaretPosition ( ) ; String str = editor . getText ( ) ; if ( str . length ( ) == 0 ) return ; boolean matchFound = false ; for ( int k = 0 ; k < comboBox . getItemCount ( ) ; k ++ ) { String item = comboBox . getItemAt ( k ) . toString ( ) ; if ( startsWithIgnoreCase ( item , str ) ) { comboBox . setSelectedIndex ( k ) ; editor . setText ( item ) ; editor . setCaretPosition ( item . length ( ) ) ; editor . moveCaretPosition ( pos ) ; if ( comboBox . isDisplayable ( ) ) comboBox . setPopupVisible ( true ) ; matchFound = true ; break ; } } if ( ! matchFound ) { comboBox . setPopupVisible ( false ) ; } }
Handle a key release event. See if what they've type so far matches anything in the
selectable items list. If so, then show the popup and select the item. If not, then
hide the popup.

@param e key event