mySdkConfigurable.setLabelText(PerlBundle.message("perl.run.config.use.alternative.label")); alternativeSdkPanel.add(sdkComponent, "growx, pushx"); myAlternativeSdkCheckbox.addChangeListener(e -> mySdkConfigurable.setEnabled(myAlternativeSdkCheckbox.isSelected()));
protected void initOwnComponents() { Project project = getProject(); FileChooserDescriptor chooseInterpreterDescriptor = FileChooserDescriptorFactory.createSingleLocalFileDescriptor(); chooseInterpreterDescriptor.setTitle("Choose Interpreter..."); interpreterPathField = new TextFieldWithBrowseButton(); interpreterPathField.addBrowseFolderListener(new MacroAwareTextBrowseFolderListener(chooseInterpreterDescriptor, project)); interpreterPathComponent = LabeledComponent.create(createComponentWithMacroBrowse(interpreterPathField), "Interpreter path:"); interpreterPathComponent.setLabelLocation(BorderLayout.WEST); projectInterpreterCheckbox = new JBCheckBox(); projectInterpreterCheckbox.setToolTipText("If enabled then the interpreter path configured in the project settings will be used instead of a custom location."); projectInterpreterCheckbox.addChangeListener(e -> { boolean selected = projectInterpreterCheckbox.isSelected(); UIUtil.setEnabled(interpreterPathComponent, !selected, true); }); projectInterpreterLabeled = LabeledComponent.create(projectInterpreterCheckbox, "Use project interpreter"); projectInterpreterLabeled.setLabelLocation(BorderLayout.WEST); interpreterParametersComponent = LabeledComponent.create(new RawCommandLineEditor(), "Interpreter options"); interpreterParametersComponent.setLabelLocation(BorderLayout.WEST); scriptNameField = new TextFieldWithBrowseButton(); scriptNameField.addBrowseFolderListener(new MacroAwareTextBrowseFolderListener(FileChooserDescriptorFactory.createSingleLocalFileDescriptor(), project)); scriptNameComponent = LabeledComponent.create(createComponentWithMacroBrowse(scriptNameField), "Script:"); scriptNameComponent.setLabelLocation(BorderLayout.WEST); }