JComponent () { JPanel root = new JPanel(new BorderLayout()); ExcludingTraversalPolicy traversalPolicy = new ExcludingTraversalPolicy(); root.setFocusTraversalPolicy(traversalPolicy); root.setFocusTraversalPolicyProvider(true); Pair<JComponent, Dimension> diffAndToolbarSize = createDiffPanel(root, traversalPolicy); myDiffView = new JBLoadingPanel(new BorderLayout(), this, 200); myDiffView.add(diffAndToolbarSize.first, BorderLayout.CENTER); JComponent revisionsSide = createRevisionsSide(diffAndToolbarSize.second); if (showRevisionsList()) { mySplitter = new Splitter(false, 0.3f); mySplitter.setFirstComponent(revisionsSide); mySplitter.setSecondComponent(myDiffView); restoreSplitterProportion(); root.add(mySplitter); setDiffBorder(IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.LEFT)); } else { setDiffBorder(IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.BOTTOM)); root.add(myDiffView); } return root; }