protected void createComponentImpl() { if (orientation == SplitPanel.ORIENTATION_HORIZONTAL) { component = new CubaHorizontalSplitPanel() { @Override public void setSplitPosition(float pos, Unit unit, boolean reverse) { currentPosition = this.getSplitPosition(); inverse = this.isSplitPositionReversed(); super.setSplitPosition(pos, unit, reverse); } }; } else { component = new VerticalSplitPanel() { @Override public void setSplitPosition(float pos, Unit unit, boolean reverse) { currentPosition = this.getSplitPosition(); super.setSplitPosition(pos, unit, reverse); } }; } component.addSplitPositionChangeListener(this::fireSplitPositionChangeListener); }