void () { myPath.setVisible(myShowPathBar); myPath.setEditable(true); var pathEditor = (JTextField)myPath.getEditor().getEditorComponent(); pathEditor.addFocusListener(new FocusAdapter() { @Override public void focusGained(FocusEvent e) { myPathBarActive = true; } }); pathEditor.getDocument().addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(@NotNull DocumentEvent e) { if (e.getType() == DocumentEvent.EventType.INSERT && e.getOffset() == 0 && e.getLength() == e.getDocument().getLength()) { var text = pathEditor.getText(); if (StringUtil.isQuotedString(text)) { EventQueue.invokeLater(() -> pathEditor.setText(text.substring(1, text.length() - 1))); } } } }); var finder = new LocalFsFinder(false).withBaseDir(null); var filter = (FileLookup.LookupFilter) f -> myDescriptor.isFileVisible(new CoreLocalVirtualFile(FS, ((LocalFsFinder.IoFile)f).getFile()), myShowHiddenFiles); var ignored = new FileTextFieldImpl(pathEditor, finder, filter, FileChooserFactoryImpl.getMacroMap(), this) { @Override protected void setTextToFile(FileLookup.LookupFile file) { super.setTextToFile(file); var path = typedPath(); if (path != null) { load(path, null, Set.of()); } } }; pathEditor.getActionMap().put(JTextField.notifyAction, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (myPath.isPopupVisible()) { myPath.setPopupVisible(false); } load(typedPath(), null, Set.of()); } }); }