On Tue, 8 Aug 2023 23:44:58 GMT, Jose Pereda <jper...@openjdk.org> wrote:
>> So far, BorderPane does the calculation for the children min/pref >> width/height taken into account only the margin applied to them, if any, but >> not the total padding that could be applied as well to the BorderPane itself. >> >> However, this padding needs to be taken into account as well, and this PR >> modifies BorderPane to subtract its insets from its size while doing the >> children min/pref width/height calculations. >> >> A parameterized test has been included. >> >> It is a simplified version of the test case attached to >> https://bugs.openjdk.org/browse/JDK-8313709, but still shows how without >> this patch, two of the cases (padding with or without margin) fail, while >> pass with it. > > Jose Pereda has updated the pull request incrementally with one additional > commit since the last revision: > > Migrate old tests to JUnit 5 modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderPane.java line 414: > 412: final Insets insets = getInsets(); > 413: if (width != -1) { > 414: width -= (insets.getLeft() + insets.getRight()); Let's say we call `computeMinHeight(10)`, but the left and right insets are 20. This means that `width` is now -10, which probably means "ignore the value" (the spec isn't entirely clear about that, but -10 is not a valid width in any case). I think the following code might be better: if (width >= 0) { width = Math.max(0, width - insets.getLeft() - insets.getRight()); } ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1203#discussion_r1372443874