void (int x, int y, int w, int h) { int total = myVerticalSplit ? h : w; if (w > 0 && h > 0 && myDividerPositionStrategy != DividerPositionStrategy.KEEP_PROPORTION && isComponentVisible(myFirstComponent) && isComponentVisible(mySecondComponent) && total > 2 * getDividerWidth() && total != getDimension(getSize())) { if (myDividerPositionStrategy == DividerPositionStrategy.KEEP_FIRST_SIZE) { myProportion = getProportionForFirstSize((int)getDimension(myFirstComponent.getSize()), total); } else if (myDividerPositionStrategy == DividerPositionStrategy.KEEP_SECOND_SIZE) { myProportion = getProportionForSecondSize((int)getDimension(mySecondComponent.getSize()), total); } else if (myDividerPositionStrategy == DividerPositionStrategy.DISTRIBUTE) { if (myLagProportion == null) myLagProportion = myProportion; Component first = unwrap(myFirstComponent); Component second = unwrap(mySecondComponent); myProportion = getDistributeSizeChange( (int)getDimension(myFirstComponent.getSize()), (int)getDimension(first.getMinimumSize()), (int)getDimension(first.getPreferredSize()), (int)getDimension(first.getMaximumSize()), (int)getDimension(mySecondComponent.getSize()), (int)getDimension(second.getMinimumSize()), (int)getDimension(second.getPreferredSize()), (int)getDimension(second.getMaximumSize()), total - getDividerWidth(), myLagProportion, myLackOfSpaceStrategy == LackOfSpaceStrategy.SIMPLE_RATIO ? null : myLackOfSpaceStrategy == LackOfSpaceStrategy.HONOR_THE_SECOND_MIN_SIZE); } } super.reshape(x, y, w, h); }