void () { super.createComponent(); TextFieldWithBrowseButton.MyDoClickAction doClickAction = getDoClickAction(); if (doClickAction != null) { doClickAction.registerShortcut(myComboBox); } myComboBox.setMaximumRowCount(8); myComboBox.setEditable(true); final JTextField editorComponent = (JTextField)myComboBox.getEditor().getEditorComponent(); editorComponent.getDocument().addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(@NotNull DocumentEvent e) { final String text = getText(); if (!Comparing.equal(text, oldText, true)) { oldText = text; final Runnable changeListener = getChangeListener(); if (changeListener != null) { changeListener.run(); } } } }); }