JPanel () { myDescription = new DescriptionEditorPane(); myDescription.addHyperlinkListener(createSettingsHyperlinkListener(getProject())); initToolStates(); fillTreeData(myProfileFilter != null ? myProfileFilter.getFilter() : null, true); OnePixelSplitter rightSplitter = new OnePixelSplitter(true, "SingleInspectionProfilePanel.HORIZONTAL_DIVIDER_PROPORTION", DIVIDER_PROPORTION_DEFAULT); JBScrollPane descriptionPanel = new JBScrollPane(myDescription); descriptionPanel.setBorder(JBUI.Borders.empty()); rightSplitter.setFirstComponent(descriptionPanel); myOptionsPanel = new JPanel(new GridBagLayout()); initOptionsAndDescriptionPanel(); rightSplitter.setSecondComponent(myOptionsPanel); final JScrollPane tree = initTreeScrollPane(); final JPanel northPanel = new JPanel(new GridBagLayout()); northPanel.setBorder(JBUI.Borders.empty(UIUtil.DEFAULT_VGAP, 0)); myProfileFilter.setPreferredSize(new Dimension(20, myProfileFilter.getPreferredSize().height)); final GridBag constraint = new GridBag() .setDefaultWeightY(1.0); northPanel.add(myProfileFilter, constraint.next().weightx(0.5).fillCellHorizontally().anchor(GridBagConstraints.BASELINE_TRAILING)); northPanel.add(createTreeToolbarPanel().getComponent(), constraint.next().weightx(1.0).anchor(GridBagConstraints.WEST)); JBSplitter mainSplitter = new JBSplitter(false, DIVIDER_PROPORTION_DEFAULT, 0.35f, 0.65f); mainSplitter.setSplitterProportionKey("SingleInspectionProfilePanel.VERTICAL_DIVIDER_PROPORTION"); mainSplitter.setFirstComponent(tree); mainSplitter.setSecondComponent(rightSplitter); mainSplitter.setDividerWidth(SECTION_GAP); final JPanel inspectionTreePanel = new JPanel(new BorderLayout()); inspectionTreePanel.add(northPanel, BorderLayout.NORTH); inspectionTreePanel.add(mainSplitter, BorderLayout.CENTER); final JBCheckBox disableNewInspectionsCheckBox = new JBCheckBox( AnalysisBundle.message("inspections.settings.disable.new.inspections.by.default.checkbox"), getProfile().isProfileLocked()); JPanel panel = new JPanel(new BorderLayout(UIUtil.DEFAULT_HGAP, UIUtil.DEFAULT_VGAP)); panel.add(inspectionTreePanel, BorderLayout.CENTER); panel.add(disableNewInspectionsCheckBox, BorderLayout.SOUTH); disableNewInspectionsCheckBox.addItemListener(__ -> { final boolean enabled = disableNewInspectionsCheckBox.isSelected(); if (!isDisposed()) { final InspectionProfileImpl profile = getProfile(); profile.lockProfile(enabled); } }); return panel; }