protected JComponent createSplitter(JComponent c1, JComponent c2, String proportionProperty, boolean vertical, float defaultSplit) { float savedProportion = PropertiesComponent.getInstance(project).getFloat(proportionProperty, defaultSplit); final Splitter splitter = new Splitter(vertical); splitter.setFirstComponent(c1); splitter.setSecondComponent(c2); splitter.setProportion(savedProportion); splitter.setHonorComponentsMinimumSize(true); splitter.addPropertyChangeListener(Splitter.PROP_PROPORTION, evt -> PropertiesComponent.getInstance(project).setValue(proportionProperty, Float.toString(splitter.getProportion()))); return splitter; }