RFR: 8362873: Regression in BorderPane after JDK-8350149

John Hendrikx jhendrikx at openjdk.org
Tue Jul 22 00:15:30 UTC 2025


On Tue, 22 Jul 2025 00:05:35 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:

> This PR fixes a regression introduced in #1723
> 
> It reverts the changes made in the BorderPaneTest with new comments explaining why the values are what they are.  It only fixes the regression that was introduced, but it can be said that the calculation is probably also incorrect when a vertical biased control is encountered (the `getAreaWidth` and `getAreaHeight` in `BorderPane` were, and are still not using the same way to calculate their respective sizes).  See the ticket for more details and screenshots.
> 
> Let me know if I should only address the regression introduced, or also include the fix for the bias calculation for vertical bias controls.

modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderPane.java line 630:

> 628:             Insets margin = getNodeMargin(child);
> 629:             return minimum ? computeChildMinAreaHeight(child, -1, margin, width, true):
> 630:                                    computeChildPrefAreaHeight(child, -1, margin, width, true);

Note: before the last boolean parameter was introduced in the `computeChildXXXAreaHeight` functions in `Region`, the default behavior was to have fill width set to `true`.  The reason I picked `false` is because the calculation above in `getAreaWidth` was using `false`, but it looks now that this was never correct.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1850#discussion_r2220620965


More information about the openjfx-dev mailing list