JComponent (@NotNull Project project, @NotNull BaseAnalysisActionDialog dialog) { myConfigurable = new JavadocConfigurable(JavadocGenerationManager.getInstance(project).getConfiguration(), project); JComponent component = myConfigurable.createComponent(); myConfigurable.reset(); // Output field validation final JTextField outputField = myConfigurable.getOutputDirField(); new ComponentValidator(dialog.getDisposable()).withValidator(() -> { return outputField.getText().isBlank() ? new ValidationInfo(JavaBundle.message("javadoc.generate.validation.error"), outputField) : null; }).installOn(outputField); outputField.getDocument().addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(@NotNull DocumentEvent e) { ComponentValidator.getInstance(outputField).ifPresent(v -> v.revalidate()); } }); return component; }