void () { myLeftPane = ScrollPaneFactory.createScrollPane(); myLeftPane.putClientProperty(UIUtil.KEEP_BORDER_SIDES, SideBorder.TOP); myStatusLine = createStatusLine(); JComponent testTreeView = createTestTreeView(); myToolbarPanel = createToolbarPanel(); Disposer.register(this, myToolbarPanel); boolean splitVertically = splitVertically(); mySplitter = createSplitter(mySplitterProportionProperty, mySplitterDefaultProportion, splitVertically); if (mySplitter instanceof OnePixelSplitter) { ((OnePixelSplitter)mySplitter).setBlindZone(() -> JBUI.insetsTop(myToolbarPanel.getHeight())); } Disposer.register(this, new Disposable(){ @Override public void dispose() { remove(mySplitter); mySplitter.dispose(); } }); mySplitter.setOpaque(false); add(mySplitter, BorderLayout.CENTER); final JPanel leftPanel = new JPanel(new BorderLayout()); leftPanel.add(myLeftPane, BorderLayout.CENTER); leftPanel.add(myToolbarPanel, BorderLayout.NORTH); mySplitter.setFirstComponent(leftPanel); myStatusLine.setMinimumSize(new Dimension(0, myStatusLine.getMinimumSize().height)); final JPanel rightPanel = new NonOpaquePanel(new BorderLayout()); rightPanel.add(SameHeightPanel.wrap(myStatusLine, myToolbarPanel), BorderLayout.NORTH); JPanel outputTab = new NonOpaquePanel(new BorderLayout()); myConsole.setFocusable(true); final Color editorBackground = EditorColorsManager.getInstance().getGlobalScheme().getDefaultBackground(); myConsole.setBorder(new CompoundBorder(IdeBorderFactory.createBorder(SideBorder.RIGHT), new SideBorder(editorBackground, SideBorder.LEFT))); outputTab.add(myConsole, BorderLayout.CENTER); final ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar("TestRunnerResults", new DefaultActionGroup(myConsoleActions), false); toolbar.setTargetComponent(myConsole instanceof ComponentContainer ? ((ComponentContainer)myConsole).getPreferredFocusableComponent() : myConsole); myToolbarComponent = toolbar.getComponent(); outputTab.add(myToolbarComponent, BorderLayout.EAST); rightPanel.add(outputTab, BorderLayout.CENTER); mySplitter.setSecondComponent(rightPanel); if (!ExperimentalUI.isNewUI()) { testTreeView.setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 0)); } setLeftComponent(testTreeView); }