void (final CommittedChangesFilterKey key, final JComponent comp) { final int idx = myInnerSplitterContents.size(); myInnerSplitterContents.put(key, idx); if (idx == 0) { myParentSplitter.setFirstComponent(myInnerSplitter); if (myParentSplitter.getProportion() < 0.05f) { myParentSplitter.setProportion(0.25f); } myInnerSplitter.setFirstComponent(comp); myInnerSplitter.setFirstSize((int)(myParentSplitter.getSize().getWidth() * myParentSplitter.getProportion())); } else if (idx == 1) { final Dimension dimension = myInnerSplitter.getSize(); final double width = dimension.getWidth() / 2; myInnerSplitter.setInnerComponent(comp); myInnerSplitter.setFirstSize((int)width); } else { final Dimension dimension = myInnerSplitter.getSize(); final double width = dimension.getWidth() / 3; myInnerSplitter.setLastComponent(comp); myInnerSplitter.setFirstSize((int)width); myInnerSplitter.setLastSize((int) width); } updateBorders(); myRefresher.run(); }