public void setHook() { ComboBoxEditor anEditor = this.getEditor(); if (anEditor.getEditorComponent() instanceof JTextField) { editor = (JTextField) anEditor.getEditorComponent(); editor.setColumns(TXT_FILENAME_LENGTH); editor.addKeyListener( new KeyAdapter() { public void keyReleased(KeyEvent ev) { char key = ev.getKeyChar(); if (!(Character.isLetterOrDigit(key) || Character.isSpaceChar(key))) { return; } caretPos = editor.getCaretPosition(); String text = ""; try { text = editor.getText(0, caretPos); } catch (Exception ex) { Debug.error(me + "setHook: Problem getting image file name\n%s", ex.getMessage()); } int n = getItemCount(); for (int i = 0; i < n; i++) { int ind = ((String) getItemAt(i)).indexOf(text); if (ind == 0) { setSelectedIndex(i); return; } } } }); } }